我正在使用链表。我无法通过指针访问结构中包含的数据。这是我的代码:
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);
我不断收到一个错误,提示“在非结构或 union 的情况下请求成员‘下一个’”。
最佳答案
Node **head
是指向 Node
的指针。所以 head->
正在取消引用指向指针的指针,因此为您提供了一个指针。指针不是结构或 union ,因此是错误的。您可以使用:
(*head)->
取消引用底层节点。
关于c - 通过指针访问结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40553827/