C++建立动态二维数组

C++建立动态二维数组

C++建立动态二维数组主要有两种方法:

1.使用数组指针,分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组

int **b=new int*[row]; //分配一个指针数组,将其首地址保存在b中

for(i=0;i

b[i]=new int[col];

该方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组:

for(i=0;i

{

delete [col]b[i];

b[i]=NULL;

}

delete [row]b;

b=NULL;

int _tmain(int argc, _TCHAR* argv[])

{

int row,column;

cin>>row>>column;

//方法一

//申请空间

int ** a = new int *[row];

for(int i = 0;i < row;i++)

a[i] = new int[column];

//使用空间

for(int j = 0;j < row;j++)

for(int k = 0;k< column;k++)

a[j][k] = rand()%100;

for(int j = 0;j < row;j++)

{

cout<

for(int k = 0;k< column;k++)

{

a[j][k] = rand()%100;

cout<

}

}

//释放空间

for(int i = 0;i < row;i++)

{

delete a[i];

a[i] = NULL;

}

delete [row]a;

a = NULL;

return 0;

}运行结果:

2.利用vector

int _tmain(int argc, _TCHAR* argv[])

{

int row,column;

cin>>row>>column;

//方法二

//申请空间

vector > a(row,vector(column));

//使用空间

for(int j = 0;j < row;j++)

for(int k = 0;k< column;k++)

a[j][k] = rand()%100;

for(int j = 0;j < row;j++)

{

cout<

for(int k = 0;k< column;k++)

{

a[j][k] = rand()%100;

cout<

}

}

return 0;

}

运行结果为:

相关推荐

欧路词典|英汉-汉英词典 backup是什么意思
菠菜365官网

欧路词典|英汉-汉英词典 backup是什么意思

📅 07-11 👁️ 4217
如何打好灵灵—了解我的职业-力士双钺系
外勤365老版本下载怎样下载

如何打好灵灵—了解我的职业-力士双钺系

📅 07-13 👁️ 3070
校花身边为什么不是校草 —中国教育网
外勤365老版本下载怎样下载

校花身边为什么不是校草 —中国教育网

📅 07-05 👁️ 2343