c++多维数组的动态分配教程
程序员文章站
2022-07-02 15:52:20
我们知道在c或者c++里面,基本数组的定义必须是常数才可以。动态分配内存没法直接了当。
在c++ 里可以vector来动态分配,
例如:
vector> dp(n + 1, vec...
我们知道在c或者c++里面,基本数组的定义必须是常数才可以。动态分配内存没法直接了当。
在c++ 里可以vector来动态分配,
例如:
vector> dp(n + 1, vector(w + 1));
但是更基本的做法是指针来new,
一维数组:
1 int *array1d; 2 //假定数组长度为m 3 //动态分配空间 4 array1d = new int [m]; 5 //释放 6 delete [] array1d;
二维数组:
int **array2d; //假定数组第一维长度为m, 第二维长度为n //动态分配空间 array2d = new int *[m]; for( int i=0; ip.s. 事实上二维数组空间的释放还可以更简单地用:delete [] array2d;
三维数组;
int ***array3d; //假定数组第一维为m, 第二维为n, 第三维为h //动态分配空间 array3d = new int **[m]; for( int i=0; i;>c语言malloc 版本:
#include int **a=(int **)malloc(m*sizeof(int *)); for(int i=0;i;>
上一篇: C++实现根据类名动态生成类对象