C++中动态申请与释放二维数组
C++中比较麻烦的就是动态的对内存的操作,有的时候new了,没有delete,造成内存泄露;有的时候没有正确地new,造成空指针、野指针的使用,导致数据被破坏,程序异常。
先看看下面一段代码:
申请内存:
如果不调用delete,调试运行可以发现有内存泄露:
所以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谢谢,有空再来。