读书人

C++中动态申请与开释二维数组

发布时间: 2013-10-08 17:08:58 作者: rapoo

C++中动态申请与释放二维数组

C++中比较麻烦的就是动态的对内存的操作,有的时候new了,没有delete,造成内存泄露;有的时候没有正确地new,造成空指针、野指针的使用,导致数据被破坏,程序异常。

先看看下面一段代码:

申请内存:



如果不调用delete,调试运行可以发现有内存泄露:

C++中动态申请与开释二维数组

所以a[j] = new float;是错误的。


总结一下,正确的申请和释放:

#define M 10 //行数

#define N 8 //列数


申请:

for (i=0; i<M; i++){delete[] a[i];a[i]=NULL;}delete[] a;a=NULL;


说明:float换成int类型,效果也一样。


转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/12146901










1楼u01196040235分钟前
支持一个
Re: u01172926524分钟前
回复u011960402n谢谢,有空再来。

读书人网 >C++

热点推荐