如何在C++中动态建立二维数组

2024年11月23日 04:33
有1个网友回答
网友(1):

一维数组是指针,可将二维数组看作是指针的指针:
每一行是一个一维数组,而列是指向行的指针,在动态创建时,先分配指向行的指针空间,再循环维每一行申请空间。
#include
using namespace std;
int main()
{
//[3]4] //三行四列的二维数组
int x,y;
int i,n,k;
x=3;
y=4;
int **p;
p = new int*[x]; //行 //申请行的空间
//每行的列申请空间
for(i=0; i{
p[i] = new int [y];
}

//赋值,
k=0;
for(i=0;i{
for(n=0;n{
p[i][n] = k;
k++;
}
}

//显示刚才的赋值
for(i=0;i{
for(n=0;n{
cout << p[i][n] << "\t";
}
cout << endl;
}

//删除刚才申请的内存
for(i=0;i{
delete [] p[i];
}
delete [] p;
return 0;