ANSI C позволяет двумя разными структурами могут содержать указатели друг с другом (также показано в . друг друга ). Я знаю, что это не хорошая идея во многих обстоятельствах, но это не вопрос здесь. Можно ли достичь то же самое использование ypeedef edud strends?
код ниже работает просто отлично.
struct b;
typedef struct a {
struct b *bb;
} A;
typedef struct b {
struct a *aa;
} B;
Но с использованием типа «B» не удается
typedef struct b B;
typedef struct a {
B *bb;
} A;
typedef struct b {
A *aa;
} B;
с
Ошибка: переопределение Typedef 'B'
можно ли сказать компилятору, что «B» будет объявлено позже и использовать его в определении из а?