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++動態數組相關操作方法的介紹。