我正在处理链表,在移动到链表的下一个元素时遇到问题。我得到的错误是:
错误:从类型“struct item *”分配给类型“item”时类型不兼容
代码如下:
typedef struct item
{
float size;
struct item *next;
} item;
item head, curr, tail;
...
head.next = (item*) malloc(sizeof(item));
curr = head.next;
感谢您的帮助。
最佳答案
在这个赋值语句中
curr = head.next;
curr
的类型为 item
而 head.next
的类型为 item *
。即第一个是结构对象,第二个是指针。它们不相容。
因此编译器会报错。
你应该像指针一样声明变量curr
item *curr;
关于c - 尝试移动到链表的下一个元素时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577974/