[英]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.