Arduino 陣列


宣告陣列

要宣告一個數組,請遵循以下語法:

語法

type array_name[array_size];

示例

char buf[500];
int new_array[200];

訪問陣列元素

陣列元素編號從 0 開始。可以透過在陣列名稱後使用方括號指定元素的索引來訪問元素。例如:

int second_element = new_array[1];

獲取陣列長度

可以使用 **sizeof()** 函式訪問陣列的長度。

例如:

int buf_len = sizeof(buf);

請注意,**sizeof()** 函式返回的是位元組數,而不是元素個數。如果你有一個 int 陣列,並且在你的開發板上 **int** 表示為兩個位元組,那麼這個函式將返回你陣列長度的兩倍。這可以透過以下方法避免:

int buf_len = sizeof(buf)/sizeof(buf[0]);

填充陣列

你可以在宣告階段填充陣列。這將把陣列的所有元素設定為你設定的值。

例如:

int new_array[200] = 0;

將把所有 200 個元素設定為 0。

對於字元陣列,你也可以按如下方式填充陣列:

char buf[50] = "Hello World";

這將把陣列的第一個元素設定為“H”,下一個元素設定為“e”,依此類推。“Hello World”之後的元素都將設定為 0。你可以透過以下程式驗證這一點:

示例

char buf[50] = "Hello World";
void setup() {
   Serial.begin(9600);
}
void loop() {
   // put your main code here, to run repeatedly:
   for(int i = 0; i< sizeof(buf); i++){
      Serial.println(buf[i], DEC);
      delay(100);
   }
}

輸出

此程式在序列埠監視器的輸出如下所示:

正如你所看到的,“d”(ASCII 碼 100)之後的元素都為 0。你可以使用以下 ASCII 表來驗證輸出:https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html

當然,也可以使用索引分別填充陣列的各個元素。例如:

buf[2] = 'a';

等等。

更新於:2021年4月2日

5K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.