シミュレータSM+で動作を確認しよう
プログラムがエラーなくビルドできましたら、今度はシミュレータを使って動作させてみます。ちゃんと意図したとおりの動作になっているでしょうか。
「シミュレータSM+」を起動するには、図11のようにPM plusの[ビルド]メニューから[ディバグ(D)]を選びます。

SM+が起動すると、「Source」というウィンドウに先ほど作成したプログラムが表示されます(図12)。黄色いマーカーの場所が、これから実行をする行です。まだ何も実行していないので、変数宣言の上(前)のところにマーカがあります。
変数の中身を見る
これから順に実行をしていきますが、このままでは本当に変数に目的の値が入ったかどうかわかりません。そこで、変数の中身を見る機能を呼び出します。図13のように、[ブラウズ]メニューから[ローカル変数(L)]を選択してください。

すると、図14のようなウィンドウが表示されます。まだ中身はなにも表示されていません(原稿では、ウィンドウサイズを変更しています)。

ここで突然、「ローカル変数」という名前が出てきました。
C言語では、変数の宣言の場所や仕方で、その変数がどこまで影響を及ぼすことができるか(変数を読み書きできる範囲)を選択することができます。
ローカル変数はその名のとおり、それを宣言した関数(ここではmain()の{から}まで)の範囲でのみ有効な変数です。ローカルがあればグローバルもあるのかというと、そのとおりです。
グローバル変数は、プログラムのどこからでも読んだり書いたりすることができます。これについては、次回以降の関数の説明で詳しく取り上げます。
これで準備は完了です。プログラムを少しずつ実行していきましょう。これにはファンクションキーの[F8]を1回押すか、図15に示すSM+の画面左上にあるアイコン群から1行実行ボタン(図15)をクリックするのでしたね。

一回実行すると図16のように、マーカーは変数宣言を一気に飛ばして、最初の実行文である58行目に移動します。ここで、先ほど開いたローカル変数を見るウィンドウを見てみると、図17のように宣言した変数a・b・cが表示されています。

各変数の右隣には、なにやら数値らしきものが表示されています。これは、各変数の現在の値を示しています。
表示を10進数に変更
"0x"で始まっているのは、16進数で表示していることを表しています。16進数については本稿の最後に簡単な解説を載せますので、知らない方はあとでそこを読んでください。
16進数のままでは少々わかりにくいので、表示を10進数に変えておきましょう。まず変数aから。aが表示されている行をマウスで左クリックします。すると黒い行カーソルがaの行に移動します。今度はマウスを右クリックすると、表示方法を選ぶメニューが表示されます。下から4つめの[10進]を左クリックしてください(図18)。

変更すると、図19のように変数aの値が10進数表示になります。

同様に、変数bとcについても表示方法を10進数に変更してみてください。変更が終わると図20のような表示になります。

「あれれ、わたしのところでは値が"500、0、0"になってない!」という方もいらっしゃるでしょう。安心してください。いま表示されているのは、コンピュータのメモリの中にあった一種のゴミです。
プログラムでは、変数の宣言部分を実行しましたね? でも変数宣言では、変数の名前と大きさしか指定していません。なので、この時点では変数の値は「不定(何になってるかわからない)」なのです。
変数に必要な領域をメモリ上に確保(場所取り)して、今はたまたまその場所にもともとあった値が変数の値になってしまっているだけです。したがって、実行する環境によって何が表示されるかはまちまちです。理屈はちょっと難しいでしょうか? とりあえず、値を代入する前の変数の値は、例題と違っていてもOK(そういうもんだ)と思っておいてください。


