gpt4 book ai didi

c - 指向结构指针的指针

转载 作者:太空宇宙 更新时间:2023-11-04 00:16:52 25 4
gpt4 key购买 nike

我的结构如图所示。当我有一个指向该结构的指针时,我能够正常地初始化或修改它的任何成员。

struct node{
int key;
int nno;
char color;
struct node* out;
struct node* next;
struct node* pre;
};

但是,当我将结构指针的地址传递给函数并使用双指针捕获它,并尝试使用该双指针访问成员时,我的编译器会抛出错误“成员未定义”。

void DFSVisit(struct node** u){
*u->color = 'g';
struct node* v;
while(*u->out != NULL){
v = *u->out;
if(v->color == 'w'){
v->pre = *u;
DFSVisit(&v);
}
}
*u->color = 'b';
}

而且,这就是我访问该函数的方式。

DFSVisit(&root);

Root 是一个正确初始化的指针。而且,Root 是一个全局变量。

最佳答案

您是否知道间接(解引用)运算符 * 的优先级低于元素选择运算符 ->?也就是说,您应该编写 (*u)->color,而不是 *u->color

关于c - 指向结构指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14292229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com