C++中如何使用动态数组
这篇文章将为大家详细讲解有关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++中如何使用动态数组就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341