🪂

変数とは何か?(3つのメリット)

2022/12/05に公開

この記事では変数とは何か?についてまとめます。下記のトピックを中心に考えていきます。

  • 変数とは何か?
  • なぜ必要か?
  • どんなメリットがあるのか?

変数とは何か?

変数とはメモリスペースへ任意の値を代入できる仕組みです。 数学の変数xyと仕組みは基本的に同じです。y = x^{2}という式があった時に、xyには基本的にどんな数でも代入することは可能ですよね。プログラミングの変数も基本的には同じで、任意の値を代入することが可能であり、通常の数値や文字列と同じように使うことができます。(データ型の問題については一旦スキップします。)

実際のコードで具体例をお見せします。消費税の計算をするプログラムですが、通常のベタ書きverと変数を使ったverで比べてみます。

数値ベタ書きのパターン
cout << 1000 * 1.08;
変数を使ったパターン
int price = 1000;
double TAX = 1.1;
cout << price * TAX;

数学の変数xyのように、変数を宣言したメモリスペースへ後から任意の値を入力している点に注目して下さい。以上が数値のベタ書きと任意の値を代入できる変数を使った違いとなっています。

ビルディングにメモリスペースを確保する

ちなみに変数を宣言した際、コンピュータ内部では下記のようなメモリにそれ分のスペースが確保されることになります。変数priceとTAXを格納するためのメモリスペース、それぞれ4イトずつが確保されます。このようなビルディングのような形をしたビルディングがあって、そこに数値(1000や1.1)が代入されると思って下さい。

変数が宣言された際のPC内部の動きについては少し難しいので詳しい部分まで理解できなくても大丈夫です。気になる方向けに別記事で解説させて頂きましたので(記事はこちら)、まずはメモリにスペースが確保され、そこに値が代入されるイメージを覚えておいて下さい。

なぜ変数は必要なのか?

ではここでみなさんに質問です。なぜ変数という仕組みを使う必要があるのでしょうか。先程のようにベタ書きでも同じことができるなら必要ないですよね。実は変数を使うメリットは3つあります。

1、繰り返し利用できる(再利用性)
2、プログラムが読みやすくなる(可読性)
3、後から修正がカンタンになる(保守性)

先程の消費税の計算の例で考えてみます。

【再利用性】price、TAXという変数は他の場所でも使うことも可能です。ベタ書きだと何回も金額と個数を入力する必要があるので、間違えた値を入力してしまう可能性が高まります。

【可読性】1000*1.08という計算があった時に、それは何の計算を意味するのでしょうか?price=金額、TAX=税金という変数名が付いていれば「金額に関する計算なんだな」と一目でわかります。変数はその値の使い道や用途を教えてくれるのでコードを読み解く際のヒントになります。

【保守性】金額を変えたい場合にはpriceの数値だけを変えればOKです。ベタ書きだとプログラムの中で全ての金額を修正する必要があります。長いプログラムになると変更箇所を見つけるだけでも至難の業です。

これはまだ短いプログラムなのであまり有り難みを感じられませんが、長いプログラムになると変数を使った方がわかりやすいプログラムを作ることができます。全てがベタ書きの数値で書かれたプログラムを読み解くのは非常に苦痛ですし、それを修正したりエラーを発見することはほぼ不可能となります。数値や文字列に名前を付けることができる変数を活用することで、読み書きの効率を上げることができるのです。

Discussion