<转载>c++中new一个二维数组

时间:2021-02-02 15:45:52

原文连接

在c++中定义一个二维数组时有多种方式,下面是几种定义方式的说明:其中dataType 表示数据类型,如int  byte  long...

1、dataType (*num)[n] = new  dataType [m][n];//这是一个数组指针形式的定义,即每一行是一个指针
...
delete []num;
缺点:n必须是已知
优点:调用直观,连续储存,程序简洁

2、 dataType ** num= new dataType *[m];
for(int i = 0; i < m; i++)
num[i] = new  dataType [n];
...
for(int i = 0; i < m; i++)
delete [] num[i];
delete [] num;
缺点:非连续储存,程序烦琐,ga为A**类型
优点:调用直观,n可以不是已知

3、dataType * num= new dataType [m*n];
...
delete []num;
缺点:调用不够直观
优点:连续储存,n可以不是已知