変数とは?              2007年5月6日 

 記憶には自信ありますか?人間の記憶は不思議、ある日突然変なことを思い出したり、「あれ、ここに何しに来たんだっけ?」なんてことがあったり。その点、コンピュータは、故障しない限り、覚えろと命令されたことはメモリにきちんと記憶してくれる律義もの。

 さて今回は変数の話。変数はメモリの中にあり、データを記憶しておくための場所だ。あなたはプログラムの中で、好きな名前を付けていくつでも作ることができる。変数は、プログラムの中で覚えろといわれたデータは、きちんと覚えておいてくれる。次々に新しいデータを覚えてくれる。そのとき人間と違って、前のデータをうすぼんやり覚えていたり、急に昔のデータを思い出したり、なんてことは決してない。そしてどんなに長生きの変数でも、プログラム終了とともに消えてなくなってしまう。(だからずっととっておきたい変数の中身は、データベースに記録しておくのだ。)

前回、会員登録の仕事をコンピュータにやらせる例を取り上げた。そのプログラムの中身は、コンピュータへやらせたい仕事の内容、つまり、あれしろ、そしたらこれしてあれして、...といった、命令のかたまりで成り立ってる。ここまではOK?

 さて、年齢制限に引っかからないかチェックするにせよ、確認画面にそのまま表示するにせよ、まず、入力された「花岡二郎」とか「15歳」とかのデータを、いったんコンピュータの内部に記憶する必要がある、よろしいかな?ここで変数の登場だ。

ではキーボードから入力された年齢を、そのままオウム返しに画面に表示するプログラムを考えてみよう。なーんだ、などといわずに。ウェブサイトのなんとかクラブの会員登録も、基本はここからなんですから。

記憶するための変数をプログラムの中で宣言する。intの意味はまた後ほど。

   int age;

 これで変数agが利用可能になる。メモリのどこかに、ある長さのエリアが確保され、それにageという名前が付くわけ。それをこんな図で表す。宣言がないと変数は使えない。選手宣誓のない甲子園はあり得ないでしょ。


 図の箱の中身は真っ白だが、宣言しただけでは何が入っているかわからない。
108341か何なのかまったくわからない。前にメモリのこの部分に記録されたデータがそのまま残っているのだ。 

 では変数ageにキーボードから入力された数をしまってみよう。その命令は、次のようになる。
   scanf(“%d”, &age);           
                      
入力した値をどの変数にしまえばいいのか指定する

 もしキーボードから「15」と入力されたら、変数ageの中身はこうなる。


ところで、変数の名前、変数名は半角英数字で自由に付けられる。だから何も「age」でなく「nenrei」とか「toshi」とかでもよい。でもやっぱり英語がかっこいい!各自の英語力を駆使してかっこいい名前を付けること。ちなみに私はだめ、こんなサイトの和英やら英和やらを使って、四苦八苦しながら命名。あまり大変なら「nenrei」でも「toshi」でもいい。       アルク http://www.alc.co.jp/  

<前へ次へ>

<前へ次へ>

目次へ