C 语言版本
#include <stdio.h> #include <stdlib.h> #define high 2 #define row 3 #define col 4 int main() { int i,j,k; // p[2][3][4] int ***p; p = malloc( sizeof(int **)*high); for(i=0; i<high; i++) { p[i]= malloc( sizeof(int *)*row);//new int *[3]; for(j=0; j<row; j++) p[i][j]= malloc( sizeof(int )*col);//new int[4]; } //输出 p[i][j][k] 三维数据 for(i=0; i<high; i++) { for(j=0; j<row; j++) { for(k=0;k<col;k++) { p[i][j][k]=i+j+k; printf("%d ",p[i][j][k]); } printf("\n"); } printf("\n"); } // 释放内存 for(i=0; i<high; i++) { for(j=0; j<row; j++) { free(p[i][j]); } } for(i=0; i<high; i++) { free(p[i]); } free(p); return 0; }
C++版本
#include <iostream> using namespace std; int main() { int i,j,k; // p[2][3][4] int ***p; p = new int **[2]; for(i=0; i<2; i++) { p[i]=new int *[3]; for(j=0; j<3; j++) p[i][j]=new int[4]; } //输出 p[i][j][k] 三维数据 for(i=0; i<2; i++) { for(j=0; j<3; j++) { for(k=0;k<4;k++) { p[i][j][k]=i+j+k; cout<<p[i][j][k]<<" "; } cout<<endl; } cout<<endl; } // 释放内存 for(i=0; i<2; i++) { for(j=0; j<3; j++) { delete [] p[i][j]; } } for(i=0; i<2; i++) { delete [] p[i]; } delete [] p; return 0; }
标签:main,int,内存,动态分配,high,C++,include,define From: https://www.cnblogs.com/profession/p/16860568.html