第2講 変数
第8話 参照について
皆さんに質問です。
第4話のコード
Module Module1
Sub Main() '私は社長だ。
Console.WriteLine("変数について学習しよう!")
Dim a As Integer '整数を入れる箱aを用意
a = 2 '箱aに2を入れた
Console.WriteLine("a={0:d}", a)
Dim b As String '文字を入れる箱bを用意
b = "初めてのVBプログラミング体験"
Console.WriteLine("b={0:s}", b)
Dim c As Single '小数を入れる箱cを用意
c = 3.141592
Console.WriteLine("c={0:f6}", c)
End Sub
End Module
の色を付けた部分、
aとa
bとb
cとc
は同じものですか。
慧眼な方はこんな質問をするのだから、
きっと何か意味がある、
前話の参照の話と関連があるのだろう、
推測なさることでしょう。
そうなんです。
実は同じではないのです。
aは箱そのものであるのに対して、
aは箱の中に入っている数値2なのです。
基本的に=の左にあるときは、箱そのもの(変数そのもの)
であり、それ以外は箱の中に入っているものです。
ですから、前話の
a = 0 '初期化
'以下計算
a = a + 1
a = a + 2
a = a + 3
'以上計算
のaも左辺にある場合には箱そのものであり、
右辺のaは箱の中身です。
ですから2行目の右辺のaは0、
3行目の右辺のaは1、
4行目の右辺のaは3です。
箱そのものなのか箱の中身なのか、
ここを常に意識する必要があります。
箱の中身を見ることを参照あるいは値参照といいます。
つまり、同じ変数が使われているときでも、
箱そのものである場合と中の値である場合があるわけです。
参照は、SubプロシージャやFunctionプロシージャなどに値を渡したり、
値を返してもらうときに理解しておかなければならない必須項目です。
さて、では第2講を終了して第3講For文の学習に進みましょう。
第3講と第4講のIf文を学ぶことによってプログラミングの幅は無限に広まり、
急に面白くなってきます。