數組是一種可訪問的變量的集合。Arduino的數組是基於C語言的,實現起來雖然有些復雜,但使用卻很簡單。
一、創建或聲明一個數組
數組的聲明和創建與變量一致,下面是一些創建數組的例子。
arrayInts[6];
arrayNums []={2,4,6,8,11};
arrayVals[6]={2,4,-8,3,5};
char arrayString[7]="Arduino";
由例子中可以看出,Arduino數組的創建可以指定初始值,如果沒有指定,那么編譯器默認為0,同時,數組的大小可以不指定,編譯器在監察時會計算元素的個數來指定數組的大小。在arrayString中,字符個數正好等於數組大小。
提示:在聲明時元素的個數不能夠超過數組的大小,即小於或等於數組的大小。
二、 指定或訪問數組
在創建完數組之后,可以指定數組的某個元素的值。
int intArray[3];
intArray[2]=2;
數組是從零開始索引的,也就說,數組初始化之后,數組第一個元素的索引為0,如上例所示,arrayString[0]為“A”即數組的第一個元素是0號索引,並以此類推。這也意味着,在包含10個元素的數組中,索引9是最后一個元素。因此,在下個例子中:
int intArray[10]={1,2,3,4,5,6,7,8,9,10};
//intArray[9]的數值為 10
//intArray[10],該索引是無效的,它將會是任意的隨機信息(內存地址)
出於這個原因,在訪問數組時應該注意。如果訪問的數據超出數組的末尾-如訪問intArray[10],則將從其他內存中讀取數據。從這些地方讀取的數據,除了產生無效的數據外,沒有任何作用。向隨機存儲器中寫入數據絕對是一個壞主意,通常會導致一些意外的結果,如導致系統崩潰或程序故障。順便說一句,不同於Basic或Java,C語言編譯器不會檢查訪問的數組是否大於聲明的數組。