我一直试图让一个指针与另一个指针相等很长一段时间,但它不会这样做,我不确定为什么。
结构是:
typedef struct{
struct listNode* next;
} listNode;
typedef struct{
listNode* head;
} linkedList;
但是在代码中,当我尝试执行时: node-> next = list-> head
我从'不兼容的指针类型'错误中得到'赋值'。 任何帮助都会非常感激,因为我真的看错了! 感谢
答案 0 :(得分:1)
您在上方struct listNode
中提到typedef
,但未声明。
您需要按正确的顺序执行操作:
+----At this point, we can refer to "struct listNode"
v
struct listNode {
struct listNode *next; /* We know this self-references, uses the same name. */
};
/* Now establish a shorthand name for the struct ... */
typedef struct listNode listNode;
/* ... which we can use in subsequent declarations like this. */
typedef struct {
listNode *head;
} linkedList;