【发布时间】:2013-09-02 23:53:39
【问题描述】:
我正在尝试在 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关键字引用结构类型,直到其定义完成,即。 e.typedef struct list_t { ... struct list_t *next; }。但这已经被问到并在这里回答了大约。 1038462475928745 次。 -
哦,
_t类型保留用于 POSIX,污染“命名空间”会导致未定义的行为。 -
@H2CO3 Referral Question/Answer 关于
_t后缀类型名称的观点。 -
@WhozCraig 不错,谢谢!
-
Declaration rule in struct typedef 的可能重复项。我怀疑还有其他潜在的重复——甚至可能更好。
标签: c data-structures