实质为定义一个指向指针的指针;
在一个一维动态数组的每个元素上,再定一个一个动态数组
在一个一维动态数组的每个元素上,再定一个一个动态数组
#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;
}