【发布时间】:2018-08-02 17:42:01
【问题描述】:
我正在尝试创建一个没有实现的单链表。我这样做只是为了更深入地了解结构的工作原理。我只想在主函数中创建 2 个节点并将它们链接起来。我可以在结构声明中使用 typedef 并通过实现来做到这一点,但这不是我想要的(我可以成功地做到这一点)。
我写了一些代码,但是在第 27 行出现错误(同样的问题出现在第 29、30 和 33 行)。我知道这个问题的解释很简单,但我在我的脑海或网络(或书籍)上都找不到它。我将不胜感激在这个问题上的任何帮助。去年我一直在编程。
我想在 CodeReview 中寻求帮助,但根据他们的常见问题解答,这不是寻求此类问题帮助的地方。
错误是:
27:11:错误:从类型“struct NODO”分配给类型“struct NODO”时类型不兼容
E.sig = F;
其他行也有同样的问题。一切都在同一个文件 (.c) 中。
这是完整的代码:
#include <stdio.h>
#include <stdlib.h>
struct NODE {
int data;
struct NODE *next;
};
struct LIST {
struct NODE *first;
struct NODE *last;
int size;
};
void main(){
struct NODE E;
struct NODE F;
struct LIST L;
E.data = 1;
E.next = NULL;
F.data = 2;
F.next = NULL;
E.next = F; // line 27
L.first = E; // line 29
L.last = F; // line 30
struct NODE *ptr;
ptr = E; // line 33
while(ptr != NULL){
printf("%i\n", ptr->data);
ptr = ptr->next;
}
}
【问题讨论】:
标签: c data-structures linked-list main