配列とは?
配列(Array)とは、複数の同じデータ型の変数を1つにまとめたものです。
たくさんの変数に同じ処理をしたいという場合、配列がないとそれぞれの変数を個別に処理する必要がありますが、変数を1つにまとめることによって、まとめて同じ処理することができるのです。
配列に含まれる各変数のことを「要素」と言います。さっそく配列の使い方について見て行きましょう。
配列の宣言
配列は以下のように宣言して使います。変数名の後に、カッコ()がついているのがポイントです。カッコの中には、配列に入れる要素数を指定します。
1 2 |
Dim 球団名(6) as String 'Dim 変数名(要素数) as データ型 |
宣言時に要素数が決められない場合、宣言時に要素数を指定しないことも可能です。カッコの中に要素数を入れずに宣言します。
1 |
Dim 安打数() as Integer |
配列内の要素を利用する
配列内の要素を指定するには、インデックスと呼ばれる数字を使用します。一般的なものの数え方と違って、一番最初の要素をゼロ、2番めの要素を1と指定する点に注意してください。配列内の要素は、代入したり値を取り出したり、通常の変数と同じように操作することができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub セリーグ() Dim 球団(6) As String 球団(0) = "巨人" 球団(1) = "阪神" 球団(2) = "広島" 球団(3) = "中日" 球団(4) = "DeNA" 球団(5) = "ヤクルト" Debug.Print 球団(0) Debug.Print 球団(1) Debug.Print 球団(2) Debug.Print 球団(3) Debug.Print 球団(4) Debug.Print 球団(5) End Sub |
なぜ配列の要素はゼロから数えるの?
配列の要素をゼロから数えます。でもそれって何だか混乱しますね。普通に1から数えればいいじゃん?と思われたかもしれません。はい、それはもっともな疑問です。なぜ配列の要素はゼロから数えるのでしょうか?この点を理解するためには、定規をイメージしてもらえばわかりやすいでしょう。
仮に配列内の要素が、1センチごとにそれぞれ保存されているとします。例えば0.0センチから1.0センチまでに1番目の要素、1.0センチから2.0センチまでの区間に2番めの要素、といった具合です。
この要素を数える場合に、先頭からの距離で数えるほうが都合がいいのです。1番目の要素は先頭からの距離がゼロなので0、2番めの要素は先頭からの距離が1なので1として数えます。
この定規の例は、コンピューターのメモリの話に置き換えてもそのまま同じです。ただメモリのことを考えると難しくなってしまうので、最初は定規のイメージで捉えるほうがいいと思います。