Я пытаюсь создать простой связанный список в C. Я, кажется, получает сообщение об ошибке для этого кода:LinkedList Struct Typedef в C
typedef struct
{
char letter;
int number;
list_t *next;
}list_t;
char letters[] = {"ABCDEFGH"};
list_t openGame, ruyLopez;
openGame.letter = letters[4];
openGame.number = 4;
openGame.next = &ruyLopez;
ruyLopez.letter = letters[5];
ruyLopez.number = 4;
ruyLopez.next = NULL;
Он не принимает мое определение в структурах:
list_t *next;
И по той же причине он не будет принимать:
openGame.next = &ruyLopez;
Это не связано с Xcode. Что касается реальной проблемы: C не является C++. Вы должны ссылаться на тип структуры, используя ключевое слово 'struct', пока не будет установлено его определение, i. е. 'typedef struct list_t {... struct list_t * next; } '. Но об этом уже спрашивали и отвечали здесь прибл. 1038462475928745 раз. –
О, и '_t' типы зарезервированы для использования с POSIX, загрязняя это« пространство имен », что приводит к неопределенному поведению. –
@ H2CO3 [Referral Question/Answer] (http://stackoverflow.com/questions/3225386/if-i-do-a-typedef-in-c-or-c-when-should-i-add-t- at-the-end-of-typedefed) за вашу точку в именах типа '_t' suffixed type. – WhozCraig