C++建立动态二维数组主要有两种方法:
1.使用数组指针和new;
分配一个指针数组,将其首地址保存在b中,然后再为指针数组的每个元素分配一个数组;
int **b=new int*[row]; //分配一个指针数组,将其首地址保存在b中
for(i=0;i<row;i++) //为指针数组的每个元素分配一个数组
b[i]=new int[col];
该方法定义的动态二维数组的释放需先释放指针数组的每个元素指向的数组,然后再释放该指针数组:
for(i=0;i<row;i++){
delete [col]b[i];
b[i]=NULL;
}
delete [row]b;
b=NULL;
2.利用vector,在声明时预设长度;
int row, col;
cin >> row >> col;
vector<vector<int> > a(row,vector<int>(column));
这种方法不需要由程序员去主动的释放空间。