第6講 配列
第2話 配列の宣言と使い方
配列の宣言の仕方は、
    Dim a(10000) As Integer
です。これで10001個の変数が用意できます。
どのような変数が用意できたかと申しますと、
a(0),a(1),a(2),・・・,a(9999)
の1万個です。
    Dim a(10000) As Integer
のとき1万個の変数ではなく10001この変数が用意できることに注意して下さい。
0から始まっていますので、10000が10001個目になるのです

配列のことを添え字付き変数ともいいます。
添え字とは()内の数字です。
配列は、一瞬にして多くの変数を用意できるだけでなく、
添え字が、For文の制御変数で制御できるという大変大変大きなメリットを持っています。
例によって具体例を示しましょう。
Module Module1

  Sub Main() '私は社長だ。
    Dim a(9) As Integer '配列aの宣言
    Dim i As Integer
    For i = 0 To 9
      a(i) = i + 1
    Next
    For i = 0 To 9
      Console.Write("{0:d} ", a(i))
    Next
    Console.WriteLine()
  End Sub

End Module
実行画面
1 2 3 4 5 6 7 8 9 10

このコードを
Module Module1

  Sub Main() '私は社長だ。
    f()
  End Sub

  Sub f()
    Dim a0,a1,a2,a3,a4,a5,a6,a7,a8,a9 As Integer '変数aの宣言
    Dim i As Integer
    For i = 0 To 9
      a
i = i + 1
    Next
    For i = 0 To 9
      Console.Write("{0:d} ", ai )
    Next
    Console.WriteLine()
  End Sub

End Module
等とするとエラーします。
同じ添え字でもa0とa(0)では天と地ほど違うのです。
配列の添え字は、制御変数で制御できる!
これが大きなメリットなのです。

さて、なるべく仕事は部下にやらせて、
main()は指令役に徹するが原則ですから、
この講のこれ以降のコードは
Module Module1

  Sub Main() '私は社長だ。
    f()
  End Sub

  Sub f()
    Dim a(10) As Integer '配列aの宣言
    Dim i As Integer
    For i = 0 To 10
      a(i) = i + 1
    Next
    For i = 0 To 10
      Console.Write("{0:d} ", a(i))
    Next
    Console.WriteLine()
  End Sub

End Module
という形にします。

変数そのものや配列そのものを渡すことが出来ませんので、
現時点では、上のように書き換えることは余り意味がありませんが、
なんでも社長自ら仕事をやってしまうという悪癖を付けないための
次善の策です。
C言語ではポインタというものがあり、
これを使うと配列や変数を
実質上渡すということができます。
VBにはポインタはありませんが、C言語と似たような手法で配列を
実質的に渡す方法があります。
それを実行すれば書き換えにははっきりと意義が生まれます、
ということを断っておきましょう。
実質が繰り返されている理由は、
箱そのものを渡せるわけではないからです。
箱そのものを渡せないのに仕事を依頼した人に自分専用の箱を使ってもらうという−−−
魔法にような方法をC言語やVBは持っているのです。
では問題です。
関数f()に2次元のデータ作成と表示をやらせて、
70 53 57 28 30 77 1 76 81 70
を実現して下さい。
もちろん配列を利用することが条件です。
発生させるデータは100未満のランダムな整数です。


第1話へ   第3話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ