配列
配列は、インデックス番号でアクセスされる変数のコレクションです。 Maple(Arduino STM32)がプログラムされているC ++プログラミング言語の配列は複雑になる可能性がありますが、単純な配列を使用するのは比較的簡単です。
配列の作成(宣言)
以下のすべてのメソッドは、配列を作成(宣言)するための有効な方法です。
code:array1.ino
int myPins[] = {2, 4, 8, 3, 6};
int mySensVals6 = {2, 4, -8, 3, 2}; myIntsと同様に、配列を初期化せずに宣言できます。 myPinsを参照する行では、明示的にサイズを選択せずに配列を宣言します。 コンパイラは要素を数え、適切なサイズの配列を作成します。
最後に、mySensValsのように、配列の初期化とサイズ変更の両方を行うことができます。 char型の要素を持つ配列を宣言する場合、必要なヌル文字を保持するために、初期化以外の要素が1つ必要です。
配列へのアクセス
配列のインデックスはゼロです。 つまり、上記の配列の初期化を参照すると、配列の最初の要素はインデックス0になります。
code:array2.ino
また、10個の要素を持つ配列では、インデックス9が最後の要素であることを意味します。 したがって:
code:array3.ino
int myArray10={9,3,2,4,3,2,7,8,9,11}; // myArray10 is invalid and contains random information (other memory address) このため、配列へのアクセスには注意が必要です。 配列の終わりを過ぎてアクセスすると(宣言された配列サイズ-1より大きいインデックス番号を使用)、他の目的で使用されているメモリから読み込み中です。 これらの場所からの読み込みは、無効なデータを生成することを除いて、おそらくあまり進んでいないでしょう。 ランダムなメモリ位置に書き込むことは間違いであり、クラッシュやプログラムの誤動作などの不幸な結果を招くことがあります。 これはまた追跡するのが難しいバグかもしれません。
BasicまたはJavaとは異なり、Cコンパイラは配列アクセスが宣言した配列サイズの有効範囲内にあるかどうかをチェックしません。
配列に値を代入するには
code:array4.ino
配列から値を取得するには
code:array5.ino
配列とforループ
配列はループ内で操作されることが多く、ループカウンタは各配列要素のインデックスとして使用されます。 たとえば、シリアルポート経由で配列の要素を表示するには、次のようにします。
code:array6.ino
int i;
for (i = 0; i < 5; i = i + 1) {
SerialUSB.println(myPinsi); }
利用例
関連項目
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。