第5章、陣列和指標 - C/C++
文章推薦指數: 80 %
舉例來說,一個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
"},
{"微震─人靜止時或對地震敏感者可感到。
"},
{"輕震─門窗搖動,一般人均可感到。
"},
{"弱震─房屋搖動,門窗格格作響,懸物搖擺,盛水動盪。
"},
{"中震─房屋搖動甚裂,不穩物傾倒,盛水容器八分滿者濺出。
"},
{"強震─牆壁龜裂,牌坊煙囪傾倒。
"},
{"烈震─房屋傾倒、山崩、地裂、地層斷陷。
"}
};
intdegree;
cout<>degree;
cout<
延伸文章資訊
- 1二維(多維)陣列 - OpenHome.cc
一維陣列使用陣列名稱與一個索引值來指定存取陣列元素,二維陣列使用陣列名稱與兩個索引值來指定存取陣列元素,宣告方式與一維陣列類似: int maze[5][10]; ...
- 2二維(多維)陣列
一維陣列使用陣列名稱與一個索引值來指定存取陣列元素,二維陣列使用陣列名稱與兩個索引值來指定存取陣列元素,宣告方式與一維陣列類似: int maze[5][10]; ...
- 3c++語言如何計算二維陣列行數和列數 - 程式人生
c++語言如何計算二維陣列行數和列數. 阿新• • 發佈:2019-02-17. 對於一個二維陣列如: int a[2][5]; 求陣列元素的總數: sizeof(a) / sizeof(int...
- 4第5章、陣列和指標 - C/C++
舉例來說,一個10(row) * 2(column)的二維陣列mat,指定其初始值第一縱行從數字1 ... 如果在陣列初始化宣告時並沒有指定陣列的大小,C/C++在編譯時將會自動配置一個適 ...
- 5二維陣列 - C/C++
在電腦的記憶體排列方式上,二維的陣列本質上仍為一維陣列,只是使用較合於 ... 我們要宣告一個二維的整數型態陣列d,其y軸方向大小為10;x軸方向大小為20,其形式應該 ...