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