Объявление структуры с typedef
typedef struct some_struct {
int someValue;
} *pSomeStruct;
и последующая передача ее в качестве параметра некоторой функции с объявлением const, подразумевая, что 'const some_struct * var'
void someFunction1( const pSomeStruct var )
превращается встать
some_struct * const var
Это также указано в разделе 6.7.5.1 стандарта ISO C, в котором говорится, что «const» в данном случае применяется к указателю, а не к данным, на которые он указывает.
Таким образом, вопрос в том, есть ли способ объявить указатель на const структуру в сокращенной записи с помощью typedef, или для этого всегда должно быть специальное отдельное объявление:
typedef const struct some_struct *pcSomeStruct;
void someFunction2( pcSomeStruct var )