3-3.配列変数

通り名は初心者殺し。


配列変数とは、仕切りのある大きな箱みたいな感じです。変数を箱に例える方法を使うならこの説明が一番しっくりきます。つまり、『大きな箱を区切り、その1区画ごとに“もの”を入れる箱』というわけです。HSP3で配列変数を使うには、変数名の後に括弧を付け、その括弧の中に番号を指定します。この番号を配列の要素と言います。また、配列の要素を指定する際に用いる数値を添え字と言います。

配列変数のイメージこう、ぐいーん、と。

	variable(number)

number : 配列の要素

1つの大きな箱を仕切っているわけですから、変数の名前自体は同じです。じゃないと配列変数である意味がありませんから。


	a(0) = 5
	a(1) = 10
	a(2) = 15

こう使います。

普通、配列の要素は0から使います。代入(確保)する際は、特にdim命令などで確保することなく使えます。いきなりa(100) = 10なんて書いても大丈夫ですが、一気にa(0)a(100)までのメモりを確保してしまいます。だから0から使っていきましょう、と。また、参照する際に指定した要素がない場合にはエラーになります。a = b(10)としたときに、b(10)が無いとエラーになります。――多次元配列変数、なんてものもありますが面倒臭い上に初歩的な段階では使うことも滅多にありません。が、一応配列変数の仲間なので最後の方で説明しておきます。

なお、添え字には、数値型変数や関数も使うことが出来ます。

配列変数の代入法は何もさっき述べただけでなく、他にも


	a(0) = 5,10,15

とすると、連続して代入することができます。この場合はa(0)からa(2)ですが、例えばa(2) = 15,20,25とすると、a(2)からa(2)に15、a(3)に20……といった感じに連続して代入します。ちなみに、特に要素番号を指定しなかった場合は0からになります。

では多次元配列変数について。読み飛ばしてもらっても構いません。むしろそうすることをお勧めします。

多次元配列変数とは、配列変数をさらに拡張したものです。多次元変数は2次元配列変数、3次元配列変数、4次元配列変数を全部ひっくるめて呼ぶものです(HSPでは4次元まで作ることが出来ます)。

多次元配列変数のイメージこう、ぐいーん、びよーん、と。

将棋とかその辺のボードゲームあたりに使えそうですね。3次元なら、立体的な入れ物をイメージすれば良いんでしょうか。――はて、どんな入れ物……?

各次元の添え字は,で区切ります。a(1,2)というように指定します。

おまけ:HSPとC言語では、配列の並びが違います。C言語では、a(0,0)(C言語の書き方だとa[0][0]……だったっけ)の次はa(0,1)ですが、HSPではa(1,0)になります。a(0,0) = 1,2,3,4,5と書くと、a(0,0)からa(4,0)に代入されます。


Last Modified: 2008-08-15