C++ 如何定义动态二维数组?

来源:互联网 发布:硬盘raw格式化软件 编辑:程序博客网 时间:2024/04/30 08:05

今天遇到了一个简单的问题,怎么建立动态的二维数组,如何函数传递二维数组;
需要先申请一个M个元素的一维指针空间,然后对每个一维指针上,申请N个元素的对象空间。这样就可以申请一个M行N列的二维数组空间了。

以整型为例

const int M = 10, N = 5;//10行5列。
int ** a;
a = new int *[M];
for(int i = 0; i < M; i ++)
a[i] = new int[N];

所得到的a就是10行5列的数组。

使用后需要释放,代码为

for(int i = 0; i < M; i ++)
delete [] a[i];
delete []a;

1 0