一、用new申请内存空间
1 int **dp=new int*[n];//动态申请二维数组nxm
2
3 for(int i=0;i<n;++i){
4
5 dp[i]=new int[m];
6
7 }
二、用malloc申请内存空间
1 int len=100;
2
3 int **dp=(int **)malloc(sizeof(int) *(len+1));for(int i=0;i<=len;++i){
4 dp[i]=new int[4];
5 }
三、使用vector创建一个二维数组
1 int n=10,m=2; //
2 vector<vector<int> > dp(n);//表示二维数组有 10行
3 for(int i=0;i<n;i++){
4 dp[i].resize(m);//表示二维数组有 2列}
或者
vector<vector<int> >dp(n,vector<int>(m));//定义二维数组dp[][],n行 m列