[英]C - array of pointers to struct, syntax
我有一个结构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 = ((A*) (p->b[0]))->a;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.