【发布时间】:2021-04-24 01:46:37
【问题描述】:
您好,我在一些 C 编程方面遇到了一些麻烦。我正在尝试创建多个类名链接列表。
我目前有:
struct class_list {
char name[20];
struct class_list *next;
} *class;
class setup_new() {
class start;
*start = NULL;
start = malloc(sizeof(*start));
if (start == NULL)
printf("error");
return start;
}
但它起作用了,我不知道为什么。
【问题讨论】:
-
它不起作用怎么办?您遇到了什么行为?
-
理想情况下,您应该为这个结构指针使用除
class之外的名称,因为这是 C++ 中的保留关键字,可能会让人感到困惑。 -
有隐藏的typedef吗?对结构使用 typedef 是个坏主意,在你的问题中不包括 typedef 更糟糕。
-
@jarmod 但这是一个 C 问题,因此
class是完全合法的。 -
@WilliamPursell - “对结构使用 typedef 是个坏主意”,可能是因为
struct用于链表,但声明太强而无法使用作为关于typedef struct的一般性声明
标签: c linked-list