天天看点

指针指向结构体之间的操作

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;
           

继续阅读