c - 通过指针访问结构

标签 c pointers struct

我正在使用链表。我无法通过指针访问结构中包含的数据。这是我的代码:

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/

相关文章:

c - 套接字上的 write() 错误地处理了 const char *

c++ - 要释放动态数组初始化时程序崩溃

c - 获取结构填充字节的地址

c - 使用 getline 将字符串读取到指针数组中 (C)

c - 为什么在 main 中打印 'x' 的值,而它可能在从 abc() 出来时已被释放?

c - C 结构的第一个字段是否总是保证偏移量为 0?

go - "Merge"字段两个相同类型的结构

c - C 中的数组和增量运算符?

c - 指针变量的值和普通变量的地址有什么区别,C 中指针的特殊用途是什么?

c++ - 数组元素和对它们的指针引用