Array其實也是一種變數型態,不過是 nonbasic data type。
宣告陣列
data type array name[number of elements];
例如建立一個可以存五個數字的陣列
int numArray[5];。
要記住兩件非常重要的事 :
numArray[0]
;若是第三項就是numArray[2]
。int
的話,裡面就只能存整數,不可以存小數或其他型態。那當我們宣告了陣列後,這個陣列就會長的像是被劃了五格的 container,而這個陣列佔了 4 * 5 = 20 bytes 的記憶體空間,現在因為這個陣列是空的,所以我們印出來會顯示這個陣列第 0 項的地址,我們得在宣告的時候就設定好各項的值,或跑一個 for 迴圈才能把把值存進去,不過我通常使用第二種方法。
例如要讓各項皆等於0的話:
接下來是一個小筆記,也是老師有在影片中特別強調的:
如果我們今天要宣告一個陣列,不過這個陣列的長度並不是固定的,像我們在寫作業的時候就常常會有由測資給定陣列長度的情況,這時候不可以這樣寫:
而要:
這是宣告動態陣列 (dynamic array),屬於 pointer 的應用,至於 pointer 是甚麼之後再來介紹,現在先記得這個用法!
最後,要來說說二維陣列。
基本上邏輯都與一維陣列是一樣的,我們就針對其宣告與應用來做介紹吧!
宣告
data type array name[rows][columns];
動態二維陣列
若是宣告 n * m 的陣列:
賦值
若使其各項都為 0:
接下來,就要來一點練習了!