Arduino 陣列長度

Ammar Ali 2023年10月12日
  1. Arduino中的陣列
  2. 使用sizeof()函式獲取Arduino陣列長度
  3. 獲取陣列長度
  4. 實際範例:尋找陣列長度
  5. 結論
Arduino 陣列長度

陣列(Arrays)是程式設計中的基本資料結構,在Arduino上,它們在存儲和操作資料方面起著關鍵作用。在處理複雜項目時,您常常需要知道陣列的大小或長度。在本文中,我們將介紹如何使用sizeof() 函式在Arduino中確定陣列的長度。

Arduino中的陣列

在深入了解陣列長度確定之前,讓我們簡單了解一下Arduino中的陣列。

**陣列(Arrays)**是根據單一識別符(Identifier)保存相同資料類型多個值的變數集合。陣列中的每個元素都可以通過索引號(Index Number)訪問,這使得管理和操作大型資料集合變得更加容易。

在Arduino中,陣列用於各種目的,從存儲感測器讀數到管理LED模式等等。能夠確定陣列的長度對於遍歷其元素,進行計算並確保您不會存取超出陣列邊界的元素是至關重要的,這可能會導致與內存相關的問題。

使用sizeof()函式獲取Arduino陣列長度

sizeof()函式是Arduino中一個有價值的工具,可以確定一個變數或陣列所需的位元組大小。它告訴您存儲特定資料所需的位元組數目。要找到陣列的長度,您需要以特定方式使用sizeof()函式

sizeof()函式的語法

以下是Arduino中sizeof()函式的基本語法:

sizeof(variable)

在此語法中:

  • 變數:這是您想要確定大小的變數或資料類型的名稱。sizeof()函式以整數值返回位元組大小。

獲取陣列長度

為了找出Arduino中陣列的長度,您需要考慮陣列佔用的位元組數量,然後將其除以陣列中每個元素使用的位元組數量。以下是您可以執行的方法:

int myarray[5] = {19, 10, 8, 17, 9};
int arrayLength = sizeof(myarray) / sizeof(myarray[0]);

在上面的例子中,myarray是一個包含五個元素的整數陣列。我們通過將陣列的大小(sizeof(myarray))除以陣列中單個元素的大小(sizeof(myarray[0]))來確定其長度。這個除法給我們陣列中的總元素數。

注意資料類型

在使用sizeof()函式時,對資料類型要非常注意。該除法應涉及與陣列的資料類型相匹配的單個元素的大小。例如,如果您有一個float陣列,將sizeof(myarray[0])替換為sizeof(float)

實際範例:尋找陣列長度

讓我們通過一個完整的範例來將這些知識應用到實際中:

void setup() {
  Serial.begin(9600);

  int myarray[5] = {19, 10, 8, 17, 9};
  int arrayLength = sizeof(myarray) / sizeof(myarray[0]);

  Serial.print("Array Elements: ");
  for (int i = 0; i < arrayLength; i++) {
    Serial.print(myarray[i]);
    Serial.print(" ");
  }

  Serial.print("\nArray Length: ");
  Serial.println(arrayLength);
}

void loop() {
  // Code in the loop, if needed
}

在此範例中,我們有一個包含五個元素的整數陣列myarray。我們使用sizeof()函式計算其長度,然後將元素和陣列的長度分別打印到Serial Monitor。

結論

在使用Arduino時,了解如何找到陣列的長度是基本的。sizeof()函式提供了一種簡單且可靠的確定陣列大小的方法。通過將陣列的大小除以具有相符資料類型的單個元素的大小,您可以確定陣列的長度。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - Arduino Array