繁体   English   中英

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

[英]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 aptrxx成员(它是一个void * ),将其转换为指向struct b的指针,然后获取该成员的info成员。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM