Я пытаюсь typedef
a struct
, который содержит указатель на другой такой же тип.
Это то, что я считал лучшим вариантом:
typedef struct Element
{
char value;
struct Element *next;
} Element;
Почему этот вариант тоже компилируется + выполняется?:
typedef struct
{
char value;
struct Element *next;
} Element;
Для описания первого я бы сказал: "Name struct Element
Element
now", а второй как: "Возьмите этот анонимный struct
и назовите его Element
"
Но почему я все еще могу объявить struct Element
(внутри struct) во втором случае?
(Работает в GCC
и MSVC
)