#include<iostream> #include<iomanip> using namespace std; void main() { int m,n; cin>>m>>n; int **p; p=new int* [m];//一维数组可以用new直接动态定义,所以借用一维数组来构建二维数组 for(int i=0;i<m;i++) p[i]=new int[n];//又是一维数组的动态定义 for(int i=0;i<m;i++) for(int j=0;j<n;j++) p[i][j]=i+j; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) cout<<setw(4)<<p[i][j]; cout<<endl; } for(int i=0;i<m;i++) delete p[i];//删除p[i]所指向的内存单元(其实是一维数组) delete[] p;//删除p所指向的指针数组 }