gpt4 book ai didi

c - 如何从 2 个结构指针访问元素?

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:59 26 4
gpt4 key购买 nike

我有一个指针和 2 个不同的结构。第一个结构有一个成员,它是一个 void* 指针。现在我需要使用先前指向第一个结构的指针访问第二个结构的成员。

struct a {
void *ptrxx;
}

struct b {
int info;
}

struct a *ptr;

我需要做类似的事情:

 ptr->ptrxx->info;

但我必须进行某种类型转换才能让 C 知道 ptr->ptrxx 是指向结构 b 的指针。我怎样才能在一个表达式中做到这一点(不需要额外的指针)?

PS:我收到错误:请求成员 ***** 不是结构或 union 。 (gcc)。

最佳答案

((struct b *)(ptr->ptrxx))->info

可能不需要所有这些括号,但它有助于显示正在发生的事情的顺序。获取 struct aptrxx 成员(这是一个 void *),将其转换为指向 struct b 的指针>,然后获取其中的 info 成员。

关于c - 如何从 2 个结构指针访问元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39522629/

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