簡體   English   中英

C / C ++:指針結構上的指針

[英]C/C++ : Pointer on Pointer on structure

我有2個結構:

struct A {
  int m1;
  int m2;
}

和第二個結構,它具有前一個結構的成員:

struct Temp_A {    
  A a;    
}

然后我在我的程序中:

Temp_A** temp_a;

所以我的問題是:

  1. 如何為temp_a分配內存?

  2. 我怎樣才能獲得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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM