第5章、陣列和指標 - C/C++

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

舉例來說,一個10(row) * 2(column)的二維陣列mat,指定其初始值第一縱行從數字1 ... 如果在陣列初始化宣告時並沒有指定陣列的大小,C/C++在編譯時將會自動配置一個適 ... 計算機概論:C/C++程式設計   第5章、陣列和指標     授課教師:陳慶瀚 WWW :http://www.miat.ee.isu.edu.tw/cpp E-mail:[email protected]     5.3 陣列初值化     C/C++語言允許程式設計者在宣告陣列的同時,就指定陣列元素的初始值。

這種方式稱為陣列的初值化。

陣列初值化的語法與一般變數相同,都是在變數名稱之後直接以assignment運算子=指定其值,唯一差別的是:陣列的元素是多個而不是單一值,所以我們使用大括號{}如下所示: 資料型別 陣列名稱[size1]. ..[sizeN]={陣列值 };  陣列值是一系列資料型別相同且以逗號分隔的串列值。

第一個值將會被放置於陣列的第一個位址,第二個放置於陣列的第二個位址,依此類推。

在下列的例子中,一個有10個元素的陣列初始值可以安排如下: intx[10]={1,2,3, 4,5,6,7,8,9,10}; 這表示我們將1指定給x[0],2指定給x[1],...,最後將10指定給x[9]。

如果陣列的資料型別是char,字元陣列的初值化應該如下: chararray_name[7]= {'H','e','l','l','o'}; 但可以簡化為字串的形式來作陣列的初值化: chararray_name[7]= "Hello!"; 又如果想把檔案名稱當作一個陣列變數值,則我們可以寫: charstr[10]="score.txt"; 甚至可以加上路徑: charstr[18]= "c:/work/score.txt"; 這與下面初始化的功能是一樣的: charstr[18]={'c', ':','/','w','o','r','k','/', 's','c','o','r','e','.','t','x','t'}; 因為字串的結尾必須包含一個空字元'\0',你必須確定陣列宣告的長度足夠包含空字元。

這也是為什麼字串長度"c:/work/score.txt",但是陣列長度卻有18個字元空間。

當宣告字串常數時,編譯器將會在字串結尾處自動加上空字元。

/*----------------------------------------------------*/ //                  範例程式5-6 //                  輸入檔案名稱 //                  陳慶瀚,2001 /*----------------------------------------------------*/ #include void main() {    charfilename[8];    cout<>filename;    cout< void main() {    intmat[3][3]=    {       {1,2,3},       {4,5,6},       {7,8,9}    };    intrlt[3][3];    intx,y;    cout< void main() {    charmsg[][80]=    {       {"無感地震─地震儀有記錄,人體無感覺。

"},       {"微震─人靜止時或對地震敏感者可感到。

"},       {"輕震─門窗搖動,一般人均可感到。

"},       {"弱震─房屋搖動,門窗格格作響,懸物搖擺,盛水動盪。

"},       {"中震─房屋搖動甚裂,不穩物傾倒,盛水容器八分滿者濺出。

"},       {"強震─牆壁龜裂,牌坊煙囪傾倒。

"},       {"烈震─房屋傾倒、山崩、地裂、地層斷陷。

"}    };    intdegree;    cout<>degree;    cout<



請為這篇文章評分?