我尝试在C语言中实现链表,并从这个简单的代码开始:
#include <stdio.h>
struct int_node;
struct int_list;
struct int_list create_list();
int main() {
struct int_list list = create_list();
return 0;
}
struct int_node {
int value;
struct int_node * next;
};
struct int_list {
struct int_node * first;
};
struct int_list create_list() {
/* Creates an empty list, first node=null */
struct int_list list;
list.first = NULL;
return list;
};
在构建过程中,我遇到了两个错误:
- 使用不完整的返回类型“struct int_list”调用'create_list'
- 变量具有不完整的类型“struct int_list”
我查找了答案,但我只能发现我需要在使用它们之前声明结构体和函数,我已经这样做了。
我尝试的另一件事是将main()函数移动到末尾,这解决了错误,但这是一个愚蠢的解决方法,我想找到真正的解决方案。
有什么帮助吗?
main
函数中的结构体声明并不完整。即使稍后完成了类型,也无济于事。 - mafsocreate_list
中返回了一个局部变量? - Jongware