多维数组的动态开辟与释放
2016-08-05 18:57
176 查看
多维数组的动态开辟与释放:
C方式:
C++方式:
C方式:
#include <stdio.h> #include <assert.h> #define ROW 3 #define COL 4 void main() { int i = 0; int j = 0; //申请空间 int **p = (int **)malloc(sizeof(int*)*ROW); assert(p != NULL); for(i = 0; i < ROW; ++i){ p[i] = (int *)malloc(sizeof(int)*COL); assert(p[i] != NULL); } //赋值 for(i = 0; i < ROW; ++i){ for(j = 0; j < COL; ++j){ p[i][j] = i + j; } } //显示 for(i = 0; i < ROW; ++i){ for(j = 0; j < COL; ++j){ printf("%d ",p[i][j]); } printf("\n"); } //释放空间 for(i = 0; i < ROW; ++i){ free(p[i]); } free(p); }
C++方式:
#include <iostream> #include <assert.h> using namespace std; const int row = 3; const int col = 4; void main() { //申请空间 int **p = new int*[row]; assert(p != NULL); for(int i = 0; i < row; ++i){ p[i] = new int[col]; assert(p[i] != NULL); } //赋值 for(i = 0; i < ROW; ++i){ for(int j = 0; j < COL; ++j){ p[i][j] = i + j; } } //显示 for(i = 0; i < ROW; ++i){ for(j = 0; j < COL; ++j){ cout<<p[i][j]; } cout<<endl; } //释放 for(i = 0; i < row; ++i){ delete []p[i]; } delete []p; }
相关文章推荐
- C++:多维数组的动态分配(new)和释放(delete)
- C++:多维数组的动态分配(new)和释放(delete)
- 动态分配多维数组和释放其内存
- c语言中内存的动态分配与释放(多维动态数组构建)
- c语言中内存的动态分配与释放(多维动态数组构建)
- C++:多维数组的动态分配(new)和释放(delete)
- C++开辟动态一维、二维、多维数组
- c语言中内存的动态分配与释放(多维动态数组构建)
- 多维数组的内存动态申请与释放
- C语言中动态的申请二(三)及多维数组的使用方法及释放方法
- C++:多维数组的动态分配(new)和释放(delete)
- c语言中内存的动态分配与释放(多维动态数组构建)
- 【转】c语言中内存的动态分配与释放(多维动态数组构建)
- C语言中动态的申请二(三)及多维数组的使用方法及释放方法
- c语言中内存的动态分配与释放(多维动态数组构建)
- C++:多维数组的动态分配(new)和释放(delete)
- 关于多维数组动态开辟空间的一些疑问
- c语言中内存的动态分配与释放(多维动态数组构建)
- C语言中内存的动态分配与释放(多维动态数组构建)
- 数组内存的动态开辟和释放