Я думаю, вы неправильно понимаете, как работает typedef
- это не подстановка макросов.
В частности, использование struct myStruct_s
после typedef
означает , а не так же, как«struct struct myStruct_s
» - это просто struct myStruct_s
, как написано на лице.В typedef вводится токен, который можно использовать вместо struct ...
, но он не расширяется как макрос и не «стирает» объявление struct ...
, которое все еще можно использовать.