C++動(dòng)態(tài)數(shù)組應(yīng)用方式探討
作者:佚名
C++動(dòng)態(tài)數(shù)組在實(shí)際編程中應(yīng)用比較頻繁,而且能夠幫助我們輕松的實(shí)現(xiàn)許多功能。在這里我們竟會(huì)根據(jù)一段代碼示例來(lái)詳細(xì)解讀其應(yīng)用方式。
C++是一款功能強(qiáng)大,應(yīng)用范圍廣泛的計(jì)算機(jī)編程語(yǔ)言,從產(chǎn)生至今已經(jīng)歷經(jīng)20年時(shí)間,在開(kāi)發(fā)領(lǐng)域中仍然占據(jù)著舉足輕重的地位。我們今天在這里將會(huì)為大家介紹其中一個(gè)比較重要的知識(shí)點(diǎn),就是有關(guān)C++動(dòng)態(tài)數(shù)組的應(yīng)用方式的介紹。
C++動(dòng)態(tài)數(shù)組相關(guān)操作代碼如下:
- #include< iostream>
- #include< conio.h>
- #include< cstdlib>
//此頭文件包含函數(shù)exit(),由于C++可識(shí)別exit(),實(shí)際上該頭文件可省略- using namespace std;
- void display(double ***);
- void de_lete(double ***);
- int x,y,z; //全局變量
- void main()
- {
- cout< < "請(qǐng)分別輸入三維數(shù)組data[x][y][z]中X,Y,Z的值:"< < endl;
- while(cin>>x>>y>>z&&(x< 0||y< 0||z< 0))
- cout< < "輸入不合法,請(qǐng)重新輸入!"< < endl;
- double ***data;
- data=new double **[x];//建立代表組成三維數(shù)組的各二維數(shù)組名的二級(jí)指針數(shù)組
- if(data==0){
- cout< < "內(nèi)存分配失??!程序終止。"< < endl;
- exit(1);
- }
- for(int j=0;j< x;++j)
- data[j]=new double *[y];//建立代表組成二維數(shù)組的各一維數(shù)組名的指針數(shù)組
- if(data[0]==0){
- cout< < "內(nèi)存分配失??!程序終止。"< < endl;
- exit(1);
- }
- for(int j=0;j< x;++j)
- for(int k=0;k< y;++k)
- data[j][k]=new double[z];//建立所有一維數(shù)組
- if(data[0][0]==0){
- cout< < "內(nèi)存分配失敗!程序終止。"< < 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< < "滿足要求的數(shù)組如下:"< < 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)//釋放動(dòng)態(tài)分配的內(nèi)存空間
- {
- 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;
- }
以上就是我們對(duì)C++動(dòng)態(tài)數(shù)組相關(guān)操作方法的介紹。
【編輯推薦】
責(zé)任編輯:曹凱
來(lái)源:
博客園