< 返回技术文档列表

C++中如何使用动态数组

发布时间:2021-09-01 01:34:04⊙投诉举报

这篇文章将为大家详细讲解有关C++中如何使用动态数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

C++动态数组相关操作代码如下:

  1. #include< iostream>   

  2. #include< conio.h>   

  3. #include< cstdlib> 
    //此头文件包含函数exit(),由于C++可识别exit(),实际上该头文件可省略   

  4. using namespace std;   

  5. void display(double ***);   

  6. void de_lete(double ***);   

  7. int x,y,z; //全局变量   

  8. void main()   

  9. {   

  10. cout< < "请分别输入三维数组data[x][y][z]中X,Y,Z的值:"< < endl;   

  11. while(cin>>x>>y>>z&&(x< 0||y< 0||z< 0))   

  12. cout< < "输入不合法,请重新输入!"< < endl;   

  13. double ***data;   

  14. data=new double **[x];//建立代表组成三维数组的各二维数组名的二级指针数组   

  15. if(data==0){   

  16. cout< < "内存分配失败!程序终止。"< < endl;   

  17. exit(1);   

  18. }   

  19. for(int j=0;j< x;++j)   

  20. data[j]=new double *[y];//建立代表组成二维数组的各一维数组名的指针数组   

  21. if(data[0]==0){   

  22. cout< < "内存分配失败!程序终止。"< < endl;   

  23. exit(1);   

  24. }   

  25. for(int j=0;j< x;++j)   

  26. for(int k=0;k< y;++k)   

  27. data[j][k]=new double[z];//建立所有一维数组   

  28. if(data[0][0]==0){   

  29. cout< < "内存分配失败!程序终止。"< < endl;   

  30. exit(1);   

  31. }   

  32. for(int i=0;i< x;++i)   

  33. for(int j=0;j< y;++j)   

  34. for(int k=0;k< z;++k)   

  35. data[j][k]=i*y*z+j*z+k;   

  36. display(data);   

  37. de_lete(data);   

  38. 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++中如何使用动态数组就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


/template/Home/Zkeys/PC/Static