c - 如何使用带有双指针变量(没有支持变量)的结构字段?

标签 c list pointers struct parameter-passing

我在 c 中有这个结构

struct node{
    int info;
    struct node* link;
};

这个过程:

void example(struct node** head){
    struct node* tmp;
    tmp=*head;
    tmp->info=0;
    *head=tmp;
}

并在主程序中调用程序

example(&head); 

所以要修改 head->info 我需要一个支持变量,还有另一种没有支持变量的方法吗?

最佳答案

使用这个:

void example(struct node** head){
    (*head)->info=100;
}

它将执行与您的示例 函数相同的操作。 通过取消引用 struct node**,我们得到了 struct node*,然后我们可以使用 -> 箭头运算符简单地访问它的成员。

关于c - 如何使用带有双指针变量(没有支持变量)的结构字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60238835/

相关文章:

c - 打印字符数组

c - openACC 内核中的所有线路总是在 GPU 上工作吗?

CMake 无法在 Windows 上创建 MakeFile

c++ - PETSc 和 MPI COMM 世界正确使用

带有循环列表的Python调用函数

c++ - 不匹配'operator * for instances

python - 从列表创建逗号分隔的字符串

Python)我想添加两个 len 顺序不同的列表

c++ - 警告 : address of local variable 'angles' returned [-Wreturn-local-addr]

c - 传递数组名称时 sizeof 如何工作