Ключевое слово typedef
служит в качестве спецификатора класса хранения в синтаксисе:
typedef struct tagPOINT MyPoint;
Другими словами, синтаксически оно занимает то же место в структуре фразы, что и extern
или static
:
extern struct tagPOINT MyPoint;
Здесь у нас есть базовая фраза c по моей памяти, а не по документу ISO:
<storage-class-specifier> <specifier-qualifier-list> <declarator> ;
typedef
- это список спецификаторов класса хранения, struct tagPOINT
- это спецификатор типа, содержащий список спецификаторов-спецификаторов, а MyPoint
- это декларатор.
Ваш синтаксический анализатор C сортирует все это в соответствии с грамматикой.
In Другими словами, это не просто тот случай, когда typedef
- это какая-то команда на командном языке, для которой нужно анализировать аргументы некоторым ad ho c способом.