Я определяю некоторые структуры, которые ссылаются друг на друга, и печатаю определения структур перед их использованием, поэтому каждая структура «осведомлена» о других (получала ошибки компиляции без этого). Не уверен, если это необходимо, или исправить.
Теперь при компиляции с помощью gcc я получаю предупреждения о переопределении typedef. Как правильно это сделать?
typedef struct a A;
typedef struct b B;
typedef struct c C;
struct a {
B* list;
A* parent;
};
struct b {
A* current;
B* next;
};
struct c {
A* current;
A* root;
};
UPDATE:
Тупое, неправильное копирование привело к тому, что этот заголовок был дважды включен в другой файл. Я новичок в C и подумал, что это как-то связано с наличием структур в файле дважды. Спасибо @Kevin Ballard за хедз-ап.