[英]C/C++ : Pointer on Pointer on structure
我有2個結構:
struct A {
int m1;
int m2;
}
和第二個結構,它具有前一個結構的成員:
struct Temp_A {
A a;
}
然后我在我的程序中:
Temp_A** temp_a;
所以我的問題是:
如何為temp_a
分配內存?
我怎樣才能獲得a
? 它應該是某種(* temp_a) - > a ...
謝謝!
如何為temp_a分配內存?
//1 here is number of pointer elements you want as temp_a is pointer to pointer
// or for simplicity array of pointers.
temp_a = malloc(sizeof(*temp_a)* 1);
//then you should allocate temp_a[0] too
temp_a[0] = malloc(sizeof(**temp_a));
我怎樣才能訪問
(*temp_a)->a
//and tehn
(*temp_a)->a.m1
//you can access as too
temp_a[0]->a
首先,您必須聲明Temp_A
如下:
struct Temp_A {
struct A a;
}
現在, Temp_A**
指向一個指向Temp_A
的指針,因此您可以指定類似
temp_a = malloc(sizeof(Temp_A*));
(*temp_a) = malloc(sizeof(Temp_A));
你可以像訪問一樣
(*temp_a)->a
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.