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;
- }
- }
- void de_lete(double ***data)//释放动态分配的内存空间
- {
- for(int i=0;i< x;++i)
- for(int j=0;j< y;++j)
- delete [] data[j];
- for(int i=0;i< x;++i)
- delete [] data;
- delete [] data;
- }
以上就是我们对C++动态数组相关操作方法的介绍。
【编辑推荐】