c_cpp Ç与C ++的动态多维数组的建立与释放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp Ç与C ++的动态多维数组的建立与释放相关的知识,希望对你有一定的参考价值。
//二维动态数组的分配与释放
//语言: C & C++
/*-------------------------------------------*/
int row, col;
int **mat;
//C
mat = (int**) malloc(row * sizeof(int *));
for(int i = 0; i < row; i++)
mat[i] = (int*) malloc(col * sizeof(int));
for(int i = 0; i < row; i++)
free((void*) mat[i]);
free((void*) mat);
//C++
mat = new (int*)[row];
for(int i = 0; i < row; i++)
mat[i] = new int[col];
for(int i = 0; i < row; i++)
delete mat[i];
delete []mat;
/*-------------------------------------------*/
//三维数组的分配与释放
//语言:C
/*-------------------------------------------*/
int m, n, p;
int ***triArray;
triArray = (int ***) malloc(m * sizeof(int **));
for(int i = 0; i < m; i++)
triArray[i] = (int **) malloc(n * sizeof(int *));
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++)
triArray[i][j] = (int *) malloc(p * sizeof(int));
}
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++)
free((void*) triArray[i][j]);
}
for(int i = 0; i < m; i++)
free((void*) triArray[i]);
free((void*) triArray);
/*-------------------------------------------*/
以上是关于c_cpp Ç与C ++的动态多维数组的建立与释放的主要内容,如果未能解决你的问题,请参考以下文章
C语言中malloc和静态数组最多能开到多大呢
C语言多维数组与多级指针
动态多维数组c#
正确使用 memset 与动态分配的多维数组
数据结构与算法之数组
如何在多维数组/网格c ++中创建List