C言語の変数とは?初心者向けに基礎から解説
生徒
「C言語の勉強をしていたら、変数という言葉が出てきました。変数って何ですか?」
先生
「変数は、プログラムの中で必要な値を入れておく箱のような仕組みです。名前をつけて使うので、いつでも取り出して利用できます。」
生徒
「箱ってどういう意味ですか?実物が見えるわけではないですよね?」
先生
「たしかに目には見えません。でも、コンピュータの中にはメモリと呼ばれる保存場所があり、そこに数値や文字をしまっておけるんです。その場所に名前をつけて管理する仕組みが変数なんです。」
1. C言語の変数とは?
C言語の変数とは、数値や文字などのデータを入れておくための入れ物です。コンピュータの世界では、すべての計算や処理にデータが必要になり、そのデータを扱いやすくするために変数が使われます。例えば、ゲームプログラムでスコアを記録したり、温度計測プログラムで現在の温度を保存したりと、変数はあらゆるプログラムで重要な役割を持っています。
変数がなければ、プログラムは値を保存することができず、計算や表示もできなくなってしまいます。変数の存在は、プログラミングにおける土台のひとつと言えるほど大切な考え方です。
2. 変数に名前を付ける理由
変数には必ず名前が必要です。それは、後から値を取り出したり変更したりするためです。もし名前が無ければ、その数字や文字がプログラムのどこに保存されているのか分からなくなります。人間が分かりやすい名前を付けることで、プログラムの意味も読みやすくなります。
例えば、年齢を扱う変数にはage、点数を扱う変数にはscoreなど、意味のある名前を付けると理解しやすくなります。
3. 変数の宣言と代入
変数を使うためには、まず宣言と呼ばれる準備が必要です。宣言とは、「この名前の変数を使います」とコンピュータに伝える作業です。宣言が終わったら、値を代入して保存できます。
int score; // 変数の宣言
score = 80; // 値を代入
上の例では、整数(小数点が無い数)を入れるためにintという種類で宣言しています。そして、scoreという名前の変数に80という値を保存しています。
4. 宣言と代入を同時に行う方法
C言語では、宣言と代入をまとめて書くことができます。これを初期化と呼びます。初期化は多くのプログラムで使われ、コードを簡潔にできます。
int score = 80;
これだけで変数の準備と値の保存が同時に行われます。非常にシンプルで便利な書き方です。
5. 変数のデータ型とは?
C言語では、変数を使うときに「どんな種類の値を入れるのか」を決める必要があります。この種類のことをデータ型と呼びます。データ型は、コンピュータがメモリを確保するときに必要な情報で、整数、少数、文字などを正しく保存する役割があります。
代表的なデータ型には以下のようなものがあります。
- int:整数を扱う型
- float:小数を扱う型
- char:1文字を扱う型
6. 複数の変数を使う例
変数は何個でも用意できます。複数の値を順番に操作できるので、プログラムの幅が一気に広がります。次の例では、整数、文字、小数をすべて変数に入れています。
int age = 20;
char grade = 'A';
float height = 170.5;
7. 変数を使って計算する
変数は値を保存するだけでなく、計算にも使えます。足し算、引き算、掛け算、割り算など、様々な演算を行うことができます。例えば、テストの点数を足して合計点を求めることもできます。
int math = 70;
int english = 80;
int total = math + english;
printf("合計点は%d点です。\n", total);
8. 変数を使う時の注意点
変数を使う際に気を付けるポイントはいくつかあります。まず、変数は宣言してから使う必要があります。宣言せずに使おうとするとエラーになります。また、変数名は重複できません。同じ名前をもう一度宣言すると、プログラムが混乱してしまいます。
そして、意図しない値が入らないように、必要であれば初期化を行うことが推奨されています。初期化されていない変数には、不確かな値が入ってしまう場合があります。
9. 実際に動くサンプルコード
最後に、実際にC言語で変数を使うサンプルを示します。コンパイルして実行すると、変数に保存した値が画面に表示されます。
#include <stdio.h>
int main(void)
{
int price = 120;
int count = 3;
int total = price * count;
printf("合計金額は%d円です。\n", total);
return 0;
}
実行結果例
合計金額は360円です。