Разобрать примеры typedef в структурах, ссылающихся друг на друга - C (СИ)
Формулировка задачи:
Здравствуйте!
Помогите, пожалуйста, разобраться со структурами.
Чем отличаются следующие фрагменты, и почему первый не компилируется, а два других компилируются.
typedef struct
{
a2_t* a2;
} a1_t;
typedef struct
{
a1_t* a1;
} a2_t;struct a3_t
{
struct a4_t* a4;
};
struct a4_t
{
struct a3_t* a3;
};typedef struct _a5_t a5_t;
typedef struct _a6_t a6_t;
struct _a5_t
{
a6_t* a6;
};
struct _a6_t
{
a5_t* a5;
};Решение задачи: «Разобрать примеры typedef в структурах, ссылающихся друг на друга»
textual
Листинг программы
typedef struct
{
int x;
} a1_t; // Создаём тип с именем a1_t и struct a1_t
int main()
{
struct a1_t* a; // Что происходит тут?
return 0;
}