对于简单的一维数组动态内存分配和释放,相信大家都是知道的,不过还是举个例子吧:
1 int *array1D;2 //假定数组长度为m3 //动态分配空间4 array1D = new int [m];5 //释放6 delete [] array1D;
但是,对于多维数组动态分配,大家可能不太熟悉。下面以常见的二维和三维数组为例来说明:
1. 二维数组的动态分配和释放
1 int **array2D; 2 //假定数组第一维长度为m, 第二维长度为n 3 //动态分配空间 4 array2D = new int *[m]; 5 for( int i=0; i
P.S. 事实上二维数组空间的释放还可以更简单地用:delete [] array2D;
2. 三维数组的动态分配和释放
1 int ***array3D; 2 //假定数组第一维为m, 第二维为n, 第三维为h 3 //动态分配空间 4 array3D = new int **[m]; 5 for( int i=0; i