您的位置:首页 > 编程语言 > C语言/C++

【拾遗】C++申请与销毁动态二维数组

2015-09-09 11:27 399 查看
实质为定义一个指向指针的指针;

在一个一维动态数组的每个元素上,再定一个一个动态数组

#include<iostream>
#include<vector>
using namespace std;

//x行数,y列数
void fun(int x,int y)
{
//定义指向指针的指针
int **n;
//先动态申请一个动态一维数组
n=new int * [x];
//循环给每个元素上申请一个动态一维数组
for(int i=0;i<x;i++)
n[i]=new int[y];

for(int i=0;i<x;i++)
for(int j=0;j<y;j++)
n[i][j]=i+j;

for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
cout<<n[i][j]<<" ";
cout<<endl;
}

//释放内存空间,先释放每一行的空间,再释放整体的空间
for(int i=0;i<x;i++)
delete[] n[i];
delete []n;
}

int main()
{
int x,y;
while(cin>>x>>y)
{
fun(x,y);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: