tgirc早修book
當遇到需要宣告同類型的多個變數時,如果一個個宣告變數會很麻煩,因此可以使用陣列(array)這個資料型態,來存取多個變數
以多個變數儲存
宣告三個變數來存放各個值,占空間又不方便操作
宣告陣列
宣告一個長度為 3 ,名稱叫做 score 的陣列,該陣列存有 3 個型態為 int 的變數
輸入各元素的值
輸入時可以用迴圈來簡化流程
宣告陣列時, []
中的數字表示陣列的長度,且陣列的編號是從零開始,編號皆為正整數。
陣列中每個元素的型別,皆等於宣告的型別。
編號 | 數值 |
---|---|
0 | 90 |
1 | 77 |
2 | 85 |
解題時,建議將陣列宣告在 main 函數區塊的外部,以避免 Stack Overflow 的風險
這樣宣告會讓 score 陣列成為一個 全域變數,因為若是宣告過大的陣列在 main() (包含其他函數)裡面,可能會導致程式當掉,宣告在全域變數就能避免這個問題。
陣列一宣告完後大小就會固定不能改變,因此在宣告長度時要考慮到最糟糕的情況所需要的數量,並留至少 5~10 作為緩衝,降低溢位風險,題目如果沒有講明最大範圍的話都可以多宣告一些
陣列的初始值
{ } 僅限用於初始化,並不能用於對已宣告好的陣列做賦值(assign)的動作
以下為錯誤示範,會導致編譯錯誤
初始化時沒有被指定到的部分會被自動填入 0,可以看下方的例子
這段程式碼並不是將每一格都變成 0,而是第一位初始化成 0 後再補上 0
所以下方的程式碼並不會因為第一位是 1,所以其他格都變為 1