C/C++多维数组内存分配及释放
2014-12-30 22:41
120 查看
注意顺序
#include <stdio.h> #include <malloc.h> int main() { int ****p; //开辟一个2×3×4×5的4维int数组 int h,i,j,k; p=(int ****)malloc(2*sizeof(int ***)); if (NULL==p) return 1; for (h=0;h<2;h++) { p[h]=(int ***)malloc(3*sizeof(int **)); if (NULL==p[h]) return 1; for (i=0;i<3;i++) { p[h][i]=(int **)malloc(4*sizeof(int *)); if (NULL==p[h][i]) return 1; for (j=0;j<4;j++) { p[h][i][j]=(int *)malloc(5*sizeof(int)); if (NULL==p[h][i][j]) return 1; } } } for (h=0;h<2;h++) { for (i=0;i<3;i++) { for (j=0;j<4;j++) { for (k=0;k<5;k++) { p[h][i][j][k]=h*60+i*20+j*5+k; } } } } for (h=0;h<2;h++) { for (i=0;i<3;i++) { for (j=0;j<4;j++) { for (k=0;k<5;k++) { printf(" %3d",p[h][i][j][k]); } printf("\n"); } printf("--------------------\n"); } printf("=======================\n"); } for (h=0;h<2;h++) { for (i=0;i<3;i++) { for (j=0;j<4;j++) { free(p[h][i][j]); } free(p[h][i]); } free(p[h]); } free(p); }
相关文章推荐
- [C++](CQ之一)内存的分配和释放
- STL vector (一)——扩容原理与内存分配与释放
- C++ STL中的vector的内存分配与释放
- DLL分配的内存如何在EXE里面释放
- 从C到C++的升级之内存分配与释放
- (转)频繁分配释放内存导致的性能问题的分析
- 【转】c语言中内存的动态分配与释放(多维动态数组构建)
- ios中内存的分配与释放
- 内存分配、释放以及内存分配系统调用
- 实现任意字节对齐的内存分配和释放
- C和C++怎样分配和释放内存,区别是什么 --百度实习笔试题(2012.5.6)
- 设计一个程序,为二维数组动态的分配内存空间并且释放内存空间;数组元素的赋值结果如下:
- 频繁分配释放内存导致的性能问题的分析
- STL----vector的内存分配与释放
- [百度分享]频繁分配释放内存导致的性能问题的分析
- 频繁分配释放内存导致的性能问题的分析
- 关于结构体内存分配及释放
- C/C++动态二维数组的内存分配和释放 .
- EXE中释放DLL中分配的内存
- Windows编程 在一个模块中分配的内存在另外一个模块释放?