Arduino入門:配列

ArduinoのSketch(スケッチ)では、C言語と同様に配列が使用できます。

配列

配列の宣言や初期化は、C言語と同様の書式で行えます。

Creative Commons Attribution-ShareAlike 3.0 License (CC BY-SA 3.0)
Arduino Reference:Arrays” by Arduino Team, used under CC BY-SA 3.0/ easy labo made some changes and comments to the original

上の例では、次のような処理をしています。
(A) 配列数を明示して配列宣言のみ行っています。
(B) 配列数を明示せず配列宣言と初期化を同時に行っています。
(C) 配列数を明示して配列宣言と初期化を同時に行っています。

文字配列

1文字ずつを配列要素に入れて並べれば、文字列データを格納する事が出来ます。データは、文字配列要素に加えて終端文字として、’\0’が必要になりますが、次例(B)の様に記述しても、Arduinoのコンパイラが自動的に処理してくれます。

Creative Commons Attribution-ShareAlike 3.0 License (CC BY-SA 3.0)
Arduino Reference:String” by Arduino Team, used under CC BY-SA 3.0/ easy labo made some changes and comments to the original

Sketch(スケッチ)では、上の例の様に何通りかの宣言と初期化方法があります。
(A) 要素数を明示して文字配列宣言を行っています。
(B) 要素数を明示して文字配列宣言と初期化を行っています。
(C) 要素数を明示して文字配列宣言と初期化を行っています。終端文字あり。
(D) 要素数を明示せず文字配列宣言と初期化を行っています。
(E) 要素数を明示して文字配列宣言と初期化を行っています。
(F) 要素数を明示して文字配列宣言と初期化を行っています。

文字配列には、文字列数+1(終端文字’\0′)以上の要素数が必要ですが、(F)の様に多くても問題はありません。

なお文字と文字列は、それぞれ次の様に記述します。
文字:シングルコーテーションで、’e’の様に記述します。
文字列:ダブルコーテーションで、”elabo”の様に記述します。

文字列のポインタ配列による処理

処理する文字列の種類が多い場合、ポインタの配列を利用すると上手く処理するとが出来ます。文字配列変数の格納アドレスの配列を作成して2次元的に管理する訳です。

Creative Commons Attribution-ShareAlike 3.0 License (CC BY-SA 3.0)
Arduino Reference:String” by Arduino Team, used under CC BY-SA 3.0/ easy labo made some changes and comments to the original

上例のcharの後についているアスタリスク(*)は、ポインタの配列宣言の場合に必要になります。この例では、4つの文字列をシリアルで出力しています。

配列要素へのアクセス

配列要素へのアクセスは、[]の中にインデックス数を入れてアクセス対象指定します。
a[i]
i=0,1,…N-1
N:配列数
インデックスが、0から始まる事に注意してください。

→その他のArduino関連情報

Sponsored Link