天天看點

指針指向結構體之間的操作

typedef struct MyStruct
{
	int a;
	int b;
	int c;
	int d;
}X;
struct XX
{
	int a;
	int b;
	int c;
	int d;
};
           

首先定義兩個結構體,拿指針互相玩一下。

結構體兩種定義方式,new是在堆上動态開辟記憶體,編譯器會自動釋放記憶體,而C語言malloc需要手動釋放:delete[] X;

X B;		  //定義變量的方式
X *A = new X; //new動态建立      指針就是一維數組的首位址(這樣了解)
           

了解成一維數組,每個元素都是一個sizeof(struct)大小的結構體

XX *C = new XX;
C->a = 3;//(等于C[0].a=3)
C[1].a = 4;
           

有些項目中需要執行一個結構體指針通路另一個結構體指針

A = (X*)C;
	A[0].a = 4;
	cout << C->a << endl;
           

繼續閱讀