我试图在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;
Run Code Online (Sandbox Code Playgroud)
它不接受我在结构中的定义:
list_t *next;
Run Code Online (Sandbox Code Playgroud)
出于同样的原因,它不会接受:
openGame.next = &ruyLopez;
Run Code Online (Sandbox Code Playgroud)
ver*_*ose 10
当您list_t *next在代码中使用时,编译器不知道如何处理list_t,因为您还没有声明它.试试这个:
typedef struct list {
char letter;
int number;
struct list *next;
} list;
Run Code Online (Sandbox Code Playgroud)
正如H2CO3在评论中指出的那样,使用_t标识符后缀并不是一个好主意,所以不要使用list_t.
| 归档时间: |
|
| 查看次数: |
24239 次 |
| 最近记录: |