C++:多维数组的动态分配(new)和释放(delete)
来源:互联网 发布:淘宝2个金冠店值多少钱 编辑:程序博客网 时间:2024/05/18 01:14
对于简单的一维数组动态内存分配和释放,相信大家都是知道的,不过还是举个例子吧:
1 int *array1D;2 //假定数组长度为m3 //动态分配空间4 array1D = new int [m];5 //释放6 delete [] array1D;
但是,对于多维数组动态分配,大家可能不太熟悉。下面以常见的二维和三维数组为例来说明:
1. 二维数组的动态分配和释放
1 int **array2D; 2 //假定数组第一维长度为m, 第二维长度为n 3 //动态分配空间 4 array2D = new int *[m]; 5 for( int i=0; i<m; i++ ) 6 { 7 array2D[i] = new int [n] ; 8 } 9 //释放10 for( int i=0; i<m; i++ )11 {12 delete [] arrar2D[i];13 }14 delete array2D;
P.S. 事实上二维数组空间的释放还可以更简单地用:delete [] array2D;
2. 三维数组的动态分配和释放
1 int ***array3D; 2 //假定数组第一维为m, 第二维为n, 第三维为h 3 //动态分配空间 4 array3D = new int **[m]; 5 for( int i=0; i<m; i++ ) 6 { 7 array3D[i] = new int *[n]; 8 for( int j=0; j<n; j++ ) 9 {10 array3D[i][j] = new int [h];11 }12 }13 //释放14 for( int i=0; i<m; i++ )15 {16 for( int j=0; j<n; j++ )17 {18 delete array3D[i][j];19 }20 delete array3D[i];21 }22 delete array3D;
- C++:多维数组的动态分配(new)和释放(delete)
- C++:多维数组的动态分配(new)和释放(delete)
- C++:多维数组的动态分配(new)和释放(delete)
- C++:多维数组的动态分配(new)和释放(delete)
- C++ 二维数组/多维数组的动态分配(new)和释放(delete)
- C++数组(一维、二维、三维)的动态分配new、初始化memset和释放delete
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- 【转】c语言中内存的动态分配与释放(多维动态数组构建)
- C语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- new delete 实现动态分配和释放二维数组
- 动态分配内存 and malloc&new and 数组的动态分配、初始化(memset)和撤销(delete)
- 生成 cocos2d 的离线文档
- error LNK2026: module unsafe for SAFESEH image
- 升级JDK之后的OBIEE配置
- 关于Android引导画面的多分辨率适配
- 设置编译内核lib驱动及应用层dll的source文件
- C++:多维数组的动态分配(new)和释放(delete)
- jfreechart设置字体
- andriod应用市场源码发布【第一天】
- Linux驱动程序设计之二---Linux字符驱动程序(上)
- 架构初级积累一
- 读《Boost程序库完全开发指南》
- 动态添加——例如js标签到head中
- 铁道部12306后台技术框架、完整异常栈信息以及技术缺点和漏洞 .
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解