typedef структура, прежде чем она объявлена
я не новичок, яЯ очень знаком со следующей идиомой: я
typedef struct Foo_ Foo;// I know typedef struct Foo Foo is fine, I'm just trying to make it clearer
struct Foo_
{
int value;
Foo *link;
};
Я просто внезапно запутался, потому что я понимаю, что этоне разрешается использовать имя (идентификатор) перед нимс объявлено. Но в декларацииtypedef struct Foo_ Foo
, идентификаторFoo_
еще не существует! Как получилось, что компилятор разрешил это? Кто-нибудь, пожалуйста, пролите немного света на это, объясните мне, чтоОправдание ли такого синтаксиса?
Цитата из Википедии: Цельtypedef
это назначить альтернативные имена для существующих типов.
--->8 ---
Спасибо всем вам за очень полезную информацию.