Arduino の配列の長さ

Ammar Ali 2023年10月12日
  1. Arduinoにおける配列
  2. sizeof()関数を使用してArduinoの配列の長さを取得する
  3. 配列の長さの取得
  4. 実践的な例:配列の長さの求め方
  5. 結論
Arduino の配列の長さ

プログラミングにおける配列は基本的なデータ構造であり、Arduinoにおいてはデータの格納や操作において重要な役割を果たします。特に複雑なプロジェクトを行っている際には、配列のサイズや長さを知る必要があります。本記事では、Arduinoで配列の長さを決定する方法を紹介します。そのために、the sizeof() functionを使用します。

Arduinoにおける配列

配列の長さを求める前に、まずArduinoにおける配列とは何かについて簡単に理解しましょう。

配列は、同じデータ型の複数の値を単一の識別子の下に保持する変数の集合です。配列内の各要素はインデックス番号によってアクセスされ、大量のデータを管理・操作するのに便利です。

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]);

上記の例では、5つの要素を含む整数配列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
}

この例では、5つの要素を持つ整数配列myarrayがあります。sizeof()関数を使用してその長さを計算し、要素と配列の長さをSerial Monitorに表示しています。

結論

Arduinoで配列の長さを求める方法を理解することは、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