如何释放动态创建的数组
在C++编程中,使用new分配的数组可用delete释放。不过,和动态创建的一维数盲褓梆尺组相比,动态创建的二维数组空间的释放却略有不同,也更容易出错。
一、释放动态创建的一维数组空间
1、例如,我们动态创建了一个一维 int 数组 arr,现在需要将它释放。
2、这时只需要使用 delete[ ] 数组名 即可。
3、注意,要释放数组所占的内存,[ ]不能少。否则, 用 delete 则不能完全释放数组所占内存空间。
二、释放动态创建的二维数组空间
1、例如,我们为一个二维数组 arr 动态分配了内存空间。现在需要将它释放。
2、这时候,单单使用一句 delete[ ] arr 是不够的。
3、而是应该先释放为二维数组的每行分配的空间(即 delete[ ] arr[i]),再释放为行指针分配的空间(即 delete[ ] arr)。
4、经过这样两步,动态分配的二维数组空间才算彻底地释放。至于多维数组的释放,其本质和二维数组是相似的,可以参考二维数组的方法。下图为编译运行截图。可以看到,顺利执行,没有非法的内存访问,也没有报错。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:69
阅读量:70
阅读量:79
阅读量:63
阅读量:73