三维数组
int ***array;// 假定数组第一维为 m, 第二维为 n, 第三维为h// 动态分配空间array = newint **[m];for(inti=0; i<m; i++ ){ array[i] = newint *[n]; for(intj=0; j<n; j++ ) { array[i][j] = newint[h]; }}//释放for(inti=0; i<m; i++ ){ for(intj=0; j<n; j++ ) { delete[]array[i][j]; } delete[]array[i];}delete[]array;
三维数组测试实例:
实例
#include<iostream>usingnamespacestd; intmain(){ inti,j,k; // p[2][3][4] int ***p; p = newint **[2]; for(i=0; i<2; i++) { p[i]=newint *[3]; for(j=0; j<3; j++) p[i][j]=newint[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; return0;}