C言語基礎|変数の基本

変数は「値を覚えておくための箱」

これまでのプログラムでは、
10 や 25 のような 定数 を直接使って計算し、
その結果を表示してきました。

しかし、実際のプログラムでは、

  • 計算の途中結果を覚えておきたい。
  • 同じ値を何度も使い回したい。
  • 状況に応じて値を変えたい。

といった場面がたくさん出てきます。

そこで登場するのが 変数 です。

まずは、次のように考えてみましょう。

変数とは、数値や文字などの値を入れておく「箱」である

箱に値を入れておけば、
その箱が存在する限り、値は保持されます。
また、後から取り出したり、別の値に入れ替えたりすることもできます。

なぜ変数には「名前」が必要なのか

プログラムの中には、
複数の箱(変数)が登場します。

もし箱に名前がなければ、

  • どの箱に何が入っているのか
  • どの箱を使えばよいのか

が分からなくなってしまいます。

そこで、
箱を使う前に、名前を付ける作業
が必要になります。

この作業を 宣言(declaration) と呼びます。

変数の宣言とは何か

変数を使うためには、
名前 をセットで宣言します。

次の1行が、最も基本的な変数の宣言です。

int count;   // 型がintで、名前がcountの変数を宣言

この宣言によって、

  • count という名前の
  • 整数値を格納できる箱

が用意されます。

要素意味
int整数を扱う型
count変数の名前

int は、
整数を意味する英単語 integer
に由来しています。

宣言によって何が起こるのか

変数を宣言すると、
次のような箱が用意されます。

  • 整数値を格納できる。
  • 名前で指定できる。
  • 値を自由に出し入れできる。
特徴内容
格納できる値整数
操作代入・参照
識別方法変数名

この箱の中身は、
宣言しただけではまだ決まっていません。
実際に値を入れるには、代入 が必要です。

変数を使ったプログラムを見てみよう

それでは、
二つの変数を使って値を計算し、
その結果を表示するプログラムを見てみましょう。

プロジェクト名:chap1-9-1 ソースファイル名:chap1-9-1.c

// 二つの変数を使って計算し、結果を表示

#include <stdio.h>

int main(void)
{
    int a, b;      // a と b は int 型の変数

    a = 40;        // a に 40 を代入
    b = a + 8;     // b に a + 8 を代入

    printf("aの値は%dです。\n", a);
    printf("bの値は%dです。\n", b);

    return 0;
}

実行結果

aの値は40です。
bの値は48です。

複数の変数をまとめて宣言する

上のプログラムでは、
次のように書かれていました。

int a, b;

これは、

  • int 型の変数 a
  • int 型の変数 b

同時に宣言 しています。

書き方特徴
int a, b;短く書ける。
int a; int b;コメントを書きやすい。

どちらの書き方も正しく、
状況に応じて使い分けます。

代入とは「右の値を左に入れる」こと

次の行を見てみましょう。

a = 40;

この記号 = は、

右側の値を、左側の変数に代入せよ

という意味です。

数学の
「a と 40 は等しい」
という意味ではありません。

代入の流れをイメージしよう

次の2行では、
代入が順番に行われます。

a = 40;
b = a + 8;
手順内容
a に 40 を入れる。
a の値を取り出し、8 を足す。
計算結果を b に入れる。

つまり、
変数の中身を取り出して計算し、その結果を別の変数に入れる
という流れです。

変数を使うと何が便利になるのか

変数を使うことで、

  • 同じ値を何度も書かなくてよい。
  • 値を変えても修正箇所が少ない。
  • 計算の流れが分かりやすくなる。

といったメリットがあります。

定数だけの場合変数を使った場合
数字だらけで分かりにくい意味が読み取れる
修正が大変修正が簡単

読みやすいプログラムを書く工夫

サンプルプログラムでは、
宣言と処理の間に 空行 を入れています。

int a, b;

a = 40;
b = a + 8;

このような小さな工夫で、
プログラムはぐっと読みやすくなります。

この章で押さえておきたいポイント

ポイント内容
変数値を入れておく箱
宣言型と名前を先に決める。
int整数を扱う型
代入右の値を左に入れる。
=等号ではなく代入

最初は、
「箱」「入れる」「取り出す」
というイメージを大切にしてください。