我正在处理链接列表。我无法通过指针访问结构中包含的数据。这是我的代码:
void insertNode(Node **head, int num) {
Node *newNode = malloc(sizeof(Node));
newNode -> num = num;
while (head->next) { <-----problematic code
}
}
我已将列表头指针的地址传递给函数。
Node *list = malloc(arraySize * sizeof(Node));
Node *head = list;
insertNode(&head, randNum);
我一直收到一条错误消息“&#34;请求会员&#34;接下来&#34;在某种结构或联合的东西中。
答案 0 :(得分:4)
Node **head
是指向Node
指针的指针。所以head->
取消引用指向指针的指针,因此会给你一个指针。指针不是结构或联合,因此是错误。您可以使用:
(*head)->
取消引用基础节点。
答案 1 :(得分:2)
在循环中尝试(*head)->next
。
原因很简单,您发送Node**
但希望它会像Node*
一样工作,这是不正确的。