我有一个结构体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的值?
发布于 2016-04-07 23:38:23
只管去做
int c = ((struct A*) (p->b[0]))->a;
定义
struct A
{
int a;
struct A ** b;
}
这样就可以了
int c = p->b[0]->a;
发布于 2016-04-08 16:00:46
您可以执行以下操作:
c = ((A*) (p->b[0]))->a;
https://stackoverflow.com/questions/36480741
复制相似问题