欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++多维数组的动态分配(new)和释放(delete)举例说明

程序员文章站 2022-03-26 17:57:42
对于简单的一维数组动态内存分配和释放,相信大家都是知道的,不过还是举个例子吧: 1 int *array1d; 2 //假定数组长度为m 3 //动态分配空间 4 array1d = ne...

对于简单的一维数组动态内存分配和释放,相信大家都是知道的,不过还是举个例子吧:

1 int *array1d;
2 //假定数组长度为m
3 //动态分配空间
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
;>