二维指针、数组指针和指针数组存储空间的动态分配和释放

本文详细介绍了二维指针、数组指针和指针数组在动态内存分配和释放过程中的操作。对于二维指针,通过malloc或new分配和释放二维数组;数组指针在分配时使用new运算符,释放时直接delete[];指针数组则需要逐个分配和释放其元素所指向的一维数组。

1、二维指针


二维指针也就是指针的指针,动态分配和释放如下:


void fun()

{

int i;

X **a;

//分配

a = (X **)malloc(sizeof(X *) * m);    //也可以写成 a = new X*[m];

for(i = 0; i < m; i++)

a[i] = (X *)malloc(sizeof(X) * n);   //对应的写成a[i] = new X[n];

//释放

for(i = 0; i < m; i++)

delete[] a[i];  //对于一般类型的指针 delete[] a[i]; 与delete a[i];意思一样,对于类对象指针来说就有区别,所以都以程序中的格式来写。

delete[] a;

}

2、数组指针


数组指针它本质是指针,指向一个一维的数组。看成二维的来讲的话,它已经已知了第二维。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值