C++动态数组应用方式探讨
C++是一款功能强大,应用范围广泛的计算机编程语言,从产生至今已经历经20年时间,在开发领域中仍然占据着举足轻重的地位。我们今天在这里将会为大家介绍其中一个比较重要的知识点,就是有关C++动态数组的应用方式的介绍。
C++动态数组相关操作代码如下:
#include< iostream>
#include< conio.h>
#include< cstdlib>
//此头文件包含函数exit(),由于C++可识别exit(),实际上该头文件可省略
using namespace std;
void display(double ***);
void de_lete(double ***);
int x,y,z; //全局变量
void main()
{
cout< < "请分别输入三维数组data[x][y][z]中X,Y,Z的值:"< < endl;
while(cin>>x>>y>>z&&(x< 0||y< 0||z< 0))
cout< < "输入不合法,请重新输入!"< < endl;
double ***data;
data=new double **[x];//建立代表组成三维数组的各二维数组名的二级指针数组
if(data==0){
cout< < "内存分配失败!程序终止。"< < endl;
exit(1);
}
for(int j=0;j< x;++j)
data[j]=new double *[y];//建立代表组成二维数组的各一维数组名的指针数组
if(data[0]==0){
cout< < "内存分配失败!程序终止。"< < endl;
exit(1);
}
for(int j=0;j< x;++j)
for(int k=0;k< y;++k)
data[j][k]=new double[z];//建立所有一维数组
if(data[0][0]==0){
cout< < "内存分配失败!程序终止。"< < endl;
exit(1);
}
for(int i=0;i< x;++i)
for(int j=0;j< y;++j)
for(int k=0;k< z;++k)
data[j][k]=i*y*z+j*z+k;
display(data);
de_lete(data);
getch();
} void display(double ***data)//显示各元素
{
cout< < "满足要求的数组如下:"< < endl;
for(int i=0;i< x;++i){
for(int j=0;j< y;++j){
for(int k=0;k< z;++k)
cout< < data[j][k]< < "\t";
cout< < endl;
}
cout< < endl;
}
}