动态二维数组的生成
问题:由于二维的数组在声明时其二维的下标必须是常量,所以有很多不便。常量的方式可以如下做:
datatype (*dataname)[const_data] = new datatype[][const_data];
这样生成的dataname是一个指向数组的指针。其析构时,为delete[] dataname即可。
另一个完全的动态决定的二维数组,可以如下生成:
以生成一个int型的二维数组为例。
int **p;
p = new int*[m];
for(int i = 0; i < n; i++)
p[i] = new int[n];
这样就可以生成一个m*n的二维数组,这个二维数组在释放时比较麻烦。
for(int i = 0; i < m; i++)
delete[] p[i];
delete[] p;

