値の格納
変数の宣言によってプログラムの中で変数を使える状態となりました。ここでは変数に値を格納する方法を確認していきます。
変数は値を格納する場所ですので変数を宣言すると場所だけが作成されています。値を格納するまでは変数という場所には何が入っているか分からない状態となっています。そこで変数を利用するには値を格納する必要があります。変数に値を格納するには次の書式を使います。
変数名 = 値;
通常「=」と言うのは左辺と右辺が等しいと言う意味で使われますが、プログラミングを行い場合には右辺を左辺へ代入するという意味で使われます。よって上記の場合には値を変数に格納するという意味になります。具体的には次のようになります。
int price; price = 1000;
上記の場合には「int」型の変数名「price」と言う変数を宣言し、そして「price」と言う変数に数値の「1000」を格納しています。格納できる値は変数の型によって決まっています。
変数に値を格納すると今度は変数を取り出して利用することが出来ます。以前のページで数値を画面に出力するのに次のような記述を行っていました。
printf("%d¥n", 1000)
数値を直接指定する代わりに数値が格納された変数を指定することが出来ます。
int price; price = 1000; printf("%d¥n", price)
また文字を変数に格納する場合は次のようになります。
char key; key = 'a'; printf("%c¥n", key)
サンプルプログラム
では簡単なサンプルプログラムを作成して試してみます。
#include <stdio.h> int main(void){ int price; char key; price = 80; key = 'a'; printf("%d¥n", price); printf("%c¥n", key); return 0; }
上記を「test5-1.c」の名前で保存します。まずコンパイルを行います。
コンパイルが終わりましたら「test5-1」と入力して実行します。
変数「price」と変数「key」に格納された値がそれぞれ出力されました。
値の変更
変数は一度値を格納したら変更できないわけではなく何度でも新しい値を格納することが出来ます。変数毎に格納できる値は一つですので新しい値を格納すると前に格納されていた値は消えてしまいます。
int price; price = 1000; printf("%d¥n", price); price = 800; printf("%d¥n", price);
上記の場合では一度変数「price」に「1000」と言う数値を格納していますが、その後で「800」と言う数値を改めて格納し直しています。
注意するべき点としては最終的に変数には「800」と言う数値が格納されているわけですが、最初の「printf("%d¥n", price);」が実行された時点では変数には「1000」が格納されていますので画面には「1000」が出力されます。そして次の「printf("%d¥n", price);」が実行された時点では変数に「800」が格納されていますので画面には「800」が出力されます。
このように同じ変数であっても格納されている値は変わっていきますので同じ「printf("%d¥n", price);」と言うプログラムであっても、その時点の変数に格納された値によって異なる動作をしますので注意して下さい。
サンプルプログラム
では簡単なサンプルプログラムを作成して試してみます。
#include <stdio.h> int main(void){ int price; price = 80; printf("%d¥n", price); price = 120; printf("%d¥n", price); return 0; }
上記を「test5-2.c」の名前で保存します。まずコンパイルを行います。
コンパイルが終わりましたら「test5-2」と入力して実行します。
変数「price」に新しい値を格納した場合には、新しい値が出力されることが確認できます。
( Written by Tatsuo Ikura )