C 动态数组应用方式探讨
创始人
2024-06-22 13:30:27
0

C++是一款功能强大,应用范围广泛的计算机编程语言,从产生至今已经历经20年时间,在开发领域中仍然占据着举足轻重的地位。我们今天在这里将会为大家介绍其中一个比较重要的知识点,就是有关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();   
  1. void display(double ***data)//显示各元素   
  2. {   
  3. cout< < "满足要求的数组如下:"< < endl;   
  4. for(int i=0;i< x;++i){   
  5. for(int j=0;j< y;++j){   
  6. for(int k=0;k< z;++k)   
  7. cout< < data[j][k]< < "\t";   
  8. cout< < endl;   
  9. }   
  10. cout< < endl;   
  11. }   
  1. void de_lete(double ***data)//释放动态分配的内存空间   
  2. {   
  3. for(int i=0;i< x;++i)   
  4. for(int j=0;j< y;++j)   
  5. delete [] data[j];   
  6. for(int i=0;i< x;++i)   
  7. delete [] data;   
  8. delete [] data;   

以上就是我们对C++动态数组相关操作方法的介绍。

【编辑推荐】

  1. C++ enum枚举代码示例剖析
  2. C++文件流操作具体实现方法探讨
  3. C++指针与引用之间有何不同之处
  4. C++单例模式多种实现技巧介绍
  5. C++字符串替换函数具体实现方法详解

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...