一個C陣列的介紹
陣列是一個可以儲存多個值的變數。
在C語言中,陣列中的每個值必須有相同的類型。這意味著你可以有int
值的陣列,也可以有double
值的陣列,以此類推。
你可以像這樣定義一個int
值的陣列:
int prices[5];
你必須總是指定陣列的大小。C本身並不提供動態陣列(你需要使用像是鏈表之類的資料結構來實現)。
你可以使用常數來定義陣列的大小:
const int SIZE = 5;
int prices[SIZE];
你可以在定義時初始化陣列,像是這樣:
int prices[5] = { 1, 2, 3, 4, 5 };
但你也可以在定義之後賦予值,像這樣:
int prices[5];
prices[0] = 1;
prices[1] = 2;
prices[2] = 3;
prices[3] = 4;
prices[4] = 5;
或者,更實際的做法是使用迴圈:
int prices[5];
for (int i = 0; i < 5; i++) {
prices[i] = i + 1;
}
你可以使用方括號在陣列變數名稱後面指定索引值,來參考陣列中的某個項目。像這樣:
prices[0]; /* 陣列項目值:1 */
prices[1]; /* 陣列項目值:2 */
陣列的索引從0開始,所以一個有5個項目的陣列,像上面的prices
陣列,其項目範圍從prices[0]
到prices[4]
。
C陣列的有趣之處在於,陣列的變數名稱,像上面的例子中的prices
,是指向陣列第一個元素的指標,因此它可以像一個正常的指標一樣使用。
另一個有趣的地方是:陣列的所有元素都按照順序連續地存儲在記憶體中,因此你可以使用指標運算來訪問任何項目。這是一些高級編程語言通常不具備的功能。