![](/img/trans.png)
[英]how to access members of structures through an array of pointers to those structures
[英]How can i access an element from 2 structures pointers ?
我有一个指针和2种不同的结构。 第一个结构具有一个成员,该成员是void *指针。 现在,我需要使用指向第一个结构的先前指针来访问第二个结构的成员。
struct a {
void *ptrxx;
}
struct b {
int info;
}
struct a *ptr;
我需要做类似的事情:
ptr->ptrxx->info;
但是我必须进行某种类型转换以让C知道ptr->ptrxx
是指向结构b的指针。 如何在一个表达式中执行此操作(不需要额外的指针)?
PS:我遇到了error: request for member ***** in something not a structure or union.
(gcc)。
((struct b *)(ptr->ptrxx))->info
可能不需要所有这些要素,但有助于显示正在发生的事情的顺序。 接受struct a
的ptrxx
成员(它是一个void *
),将其转换为指向struct b
的指针,然后获取该成员的info
成员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.