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、数组指针
数组指针它本质是指针,指向一个一维的数组。看成二维的来讲的话,它已经已知了第二维。

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

被折叠的 条评论
为什么被折叠?



