二维数组动态分配

来源:互联网 发布:淘宝和卷皮哪个更好 编辑:程序博客网 时间:2024/04/30 19:02

我天真地以为,二维数组动态分配嘛,就这样好了:

int **array;array = new [height][width];

回收嘛:

delete [][] array;


结果就挂了TOT


根本就不识别[][]啊。

二维数组作为参数传递的时候,形式参数也是这个道理,不能是int [][],而应该是int [][width]。


好了下面是可行的动态分配,其实就迭代,从外向内每次一维地分配。

当然,回收是相反的,由内向外。

分配:

array = new int *[height];for(i=0; i<height; ++i)array[i] = new int [width];
回收:

for(i=0; i<height; ++i)delete [] array[i];delete [] array;