我有一个结构体 A 和一个指向该结构体实例的指针数组
我正在尝试直接从数组访问成员,但我不知道正确的语法是什么:
struct A
{
int a;
void** b;
}
A* p = (A*) malloc(sizeof(A));
p->b = (A**) malloc(sizeof(A*) * 3);
//
// something is done
//
int c;
A* test = p->b[0];
c = test->a;
基本上我要问的是如何摆脱中间 A* 测试,以便我可以在一行中分配 c 的值?
最佳答案
就这么做
int c = ((struct A*) (p->b[0]))->a;
<小时/>
定义
struct A
{
int a;
struct A ** b;
}
这样就可以了
int c = p->b[0]->a;
关于C - 结构体指针数组,语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36480741/