ログイン
kid's world

なぜ変数は必要か

プログラムに柔軟性を与える要素の1つに「変数」がある。また,変数を知ることによってC言語のいろいろな側面を学ぶこともできる。今回は変数について学んだ後,変数とメモリとの関連についても解説していく。


はじめに

今回は変数について解説する。変数はプログラミング言語において非常に重要な要素であり,まさにご飯に味噌汁的な存在だ。私は(味噌汁なしで)ご飯のみの食生活でもなんとかなるが,ほとんどの人がそのような食生活には耐えられないであろう。耐えられる人も,耐えられない人も,おいしいプログラムを作るためには,今回説明する「変数」とそれにまつわる話を理解していただきたい。

変数についてひととおりの解説をした後,変数とメモリの関係について触れる。コンピュータがどのように数値を記憶しているのか,その雰囲気だけでもわかっていただけるとうれしい。

なぜ変数は必要か

なぜ変数が必要なのか,どうして変数がなかったら耐えられないのかについて最初に述べておこう。

まず,変数とは何なのか。数学の世界にも変数があるが,それとは違うと思っていただきたい。

たいていの電卓には「M+」と「MR」というボタンが備わっている(Fig. 1)。

Fig. 1: 電卓のメモリ

/c/var-fig1.png

電卓には表示されている数値とは別に,表示されずにメモリと呼ばれる部分に記憶されている数値がある。最初は「0」が記録されているが,数値を入力したり,計算し終わったときに「M+」を押すとメモリにその数値が記録(加算)される。そして,計算途中で「MR」を押すと,メモリに記憶されている数値が呼び出される。

変数とは,ちょうどその電卓のメモリのようなものである。すなわち''数値を記憶するもの''である。

さて,なぜ変数は必要なのだろうか。いろいろ理由はあるが,

という2つがあげられる。それぞれについて詳しく説明しよう。

別名として使う

前回に例として出したが,半径3メートルの円の円周と面積はそれぞれ,

と計算できる。しかし,このように円周率を何度も書くのはめんどうだし,間違える可能性だってある。また,場合によっては,一時的に円周率を「3」として扱う場合もあるだろう。そうなると,すべて書き直しである。

また,為替レートなど,時々刻々と変化する値について計算しなければならない場合もあろう。たとえば1ドルが130.00円の場合,「3800円の料理をドルで支払うときの額」や「980ドルのPCを日本円で買うときの額」は,

と計算する。しかし,円周率と同じ理由で,為替レートが変化するたびにプログラム全体を書き直すのでは効率が悪すぎる。

そこで,変数を使うのだ。具体的には,円周率を「pi」という記号で表し,為替レートを「rate」という記号で表す。すると,先ほどの式は,

となるのである。とても見やすくなった。

ここで出てきた「pi」と「rate」が,変数そのものである。このように書けば,円周率や為替レートを変更する場合は「pi」と「rate」の値を書き換えるだけで済み,いちいち式全体を見ながら書き換える必要はなくなる。

一時的に記憶する

変数は「数値の一時的な記憶」に使われることも多い。たとえば,ユーザから入力された数値を一時的に取っておいたり,プログラム内で計算した値を一時的に記憶して後で使うなど,いろいろな使い方をすることができる。

例として,変数「r」に,ユーザが入力した数値が入っているとしよう。すると,先ほどあげた円周率の例は,次のように非常に簡単になる。

以上の理由から,変数がどうして必要なのかがわかったであろう。実際,変数のないプログラムは,ほとんど役に立たないものとなってしまう。また,前回までの解説で「画面に文字を表示する」や「計算をする」を学習したが,「記憶をする」ということは学んでいなかった。コンピュータにとっての記憶(一時記憶),それこそが変数なのである。その意味からしても,変数がどうして「なくてはならないもの」なのかがわかるであろう。


変数の型と宣言」へ進む

広告


©Toshio Koide 1996-2007.

目次

リンクについて

リンクは御自由にどうぞ。

メール

mail.gif

広告