c语言C++动态数组的创建与释放

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


一维数组动态内存分配和释放
int *array1D = new int [m]; //假定数组长度为m 动态分配空间
delete [] array1D; //释放
array1D = NULL;

对于多维数组动态分配,以常见的二维和三维数组为例来说明:
1. 二维数组的动态分配和释放
int **array2D = new int *[m]; //动态分配空间 假定数组第一维长度为m
for( int i=0; i{
array2D[i] = new int [n] ; //第二维长度为n
}
//释放
for( int i=0; i{
delete [] arrar2D[i];
arrar2D[i] = NULL;
}
delete [] array2D;
array2D = NULL;
2. 三维数组的动态分配和释放
int ***array3D; //假定数组第一维为m, 第二维为n, 第三维为h
//动态分配空间
array3D = new int **[m];
for( int i=0; i{
array3D[i] = new int *[n];
for( int j=0; j{
array3D[i][j] = new int [h];
}
}
//释放
for( int i=0; i{
for( int j=0; j{
delete array3D[i][j];
array3D[i][j] = NULL;
}
delete array3D[i];
array3D[i] = NULL;
}
delete array3D;
array3D = NULL;

相关文档
最新文档