首页 > 学院 > 开发设计 > 正文

二维动态数组创建

2019-11-11 04:57:03
字体:
来源:转载
供稿:网友

众所周知,创建一维动态数组很容易,使用下面的代码便可以轻松创建

int *Array=new int[10];//Add some code here;delete [] Array;

但是,如果遇到动态的二维数组应当如何创建呢?这里给出3中方法: 方法一:用一维数组去模仿二维数组,由于无论何种类型的动态数组,其在内存中都是线性的,所以可以用一维数组去模拟。 优点:处理简单,加上一个转换函数就可以实现,管理容易。 缺点:不直观。

int length,width;int *Array=new int [length*width];//Add some code heredelete Array;

方法二:先创建一排指针,再依次申请内存。 优点:较为直观,管理方便。 缺点:必须知道行数或列数。

int width;int *Pointer[10];for(int i=0;i<10;i++){ Pointer[i]=new int [width];}//Add some code herefor(int i=0;i<10;i++){ delete [] Pointer[i];}

方法三:用二级指针申请一维动态指针数组,再一次申请。(该过程申请到的内存单元连续) 优点:直观,使用方便。 缺点:创建、销毁都比较麻烦,需要逐层销毁。

int length,widthlint **Poniter=new int*[length];for(int i=0;i<length;i++){ Pointer[i]=new int[width];}//Add some code here;for(int i=0;i<10;i++){ delete [] Poniter[i];}delete [] Pointer;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表