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;   



}   


} 

相关推荐