陣列 - OpenHome.cc

文章推薦指數: 80 %
投票人數:10人

不會這麼麻煩的,C++ 提供陣列(array),可以宣告一個以索引(index)作為識別 ... int number[10]; // 宣告10 個元素的整數陣列 double score[10]; // 宣告10 個元素 ... 回C++目錄 現在要整理全班的程式設計小考成績了,現在希望寫個小程式,全班共有40名學生,必須有40個變數來儲存學生的成績,現在問題來了,根據之前學過的,難道要宣告40個名稱不同的變數來儲存學生成績嗎? 不會這麼麻煩的,C++提供陣列(array),可以宣告一個以索引(index)作為識別的資料結構,宣告陣列的方式如下: 資料型態名稱[長度]; 長度必須是個編譯時期常數,以下是幾個宣告的範例: intnumber[10];//宣告10個元素的整數陣列 doublescore[10];//宣告10個元素的浮點數陣列 charascii[10];//宣告10個元素的字元陣列 若要動態宣告陣列長度,可以使用一些資料結構與動態記憶體宣告來解決,這在之後才會說明。

宣告陣列之後,陣列的元素值是未初始的,若想在宣告時初始陣列全部的元素值,可以如下: intnumber[10]={0}; doublescore[10]={0.0}; charascii[10]={'\0'}; boolflag[10]={false}; 上面的幾個宣告,整數陣列中的元素都會被初始為0,浮點數陣列則會被初始為0.0,字元陣列會被初始為空字元('\0'),而bool陣列會被初始為false。

也可以在宣告陣列時初始所有的陣列值,例如: intnumber[5]={0,1,2,3,4}; doublescore[5]={87.0,78.0,99.5,69.5,82.5}; charascii[5]={'A','B','C','D','E'}; boolflag[5]={false,true,false,true,false}; 要存取陣列中的元素值時,可以使用下標(Subscript)運算子[]加上索引」,索引值由0開始,下面這個簡單的程式是個示範: #include usingnamespacestd; intmain(){ constexprintLEN=10; intnumber[LEN]={0}; for(inti=0;i usingnamespacestd; intmain(){ intnumber[5]={0,1,2,3,4}; intlength=sizeof(number)/sizeof(number[0]); for(inti=0;i usingnamespacestd; intmain(){ intnumber[5]={0,1,2,3,4}; for(autooffset=begin(number);offset!=end(number);offset++){ auton=*offset; cout< usingnamespacestd; intmain(){ intnumber[5]={0,1,2,3,4}; for(auton:number){ cout< 例如下面這個程式直接示範了排序、尋找、反轉等操作: #include #include usingnamespacestd; intmain(){ intnumber[]={30,12,55,31,98,11}; //排序 sort(begin(number),end(number)); for(auton:number){ cout<>search; int*addr=find(begin(number),end(number),search); cout<



請為這篇文章評分?