*C言語* 〜7時限目〜 変数を初期化する・・・
〜目次〜
変数を初期化する
sample7では、
int num;
num = 3;
のようにして、変数を宣言してから、
もう1つの文を記述して、
変数の中に代入していました。
しかし、C言語では
変数を宣言したとき、同時に、変数に値を格納する
という書き方をすることができます。
このような処理のことを、
変数を初期化する(initialization)
と呼びます。
変数を初期化するコードは、以下のようにして書きます。
int num = 3;
この文は、sample7で2文に渡って書いた処理を、
1文でまとめて行なっているものです。
変数の初期化については以下です。
型名 識別子 = 式;
実際にコードを書く際には、
できるだけ変数を初期化するコードを用いたほうが
便利になります。
変数の値を更新する
コードの中では、文が1つずつ順番に処理されるという性質を使って、
一回代入した変数の値を新しい値に変更することができます。
sample8.c
―sample8の実行画面
変数numの値は3です。
変数numの値を変更しました。
変数numの新しい値は7です。
変数にもう一度値を代入することで、
値を上書きし、変数の値を変更する
という処理を行うことができます。
他の変数の値を代入する
値を代入する時に=の右辺に記述することができるのは、
3や7などといった一定の数値だけではありません。
実際に以下のコードを入力してみてください。
sample9.c
ーsample9の実行画面ー
変数num1の値は7です。
変数num1の値を変数num2に代入しました。
変数num2の値は7です。
今回の場合、=の右辺には数値ではなく、
変数num1を記述しています。
すると、変数num2には変数num1の値が代入されます。
実行結果を見ると確かに、num1の値である7がnum2に、
格納されていることがわかります。
このように、
変数の値を他の変数に代入する
ということもできるのです。
値の代入についての注意
変数に値を代入する際には、
注意しなくてはいけないところがあります。
以下のコードを入力してみてください。
sample10.c
ーsample10の実行結果ー
変数numの値は1です。
今回、numには「1.25」を代入しています。
しかし、実行結果を見ると、
「1」と表示されてしまっています。
これは、int型の変数であるnumには、
整数値しか格納できないという規則があるためです。
変数は、宣言した型によって、
格納できる値の種類が決まります。
なので、整数値の型に小数値を代入すると、
自動的に型の変換が行われてしまい、小数点が切り捨てられてしまいます。
変数を宣言する際には、型にも注意をする必要があるので注意です。
変数の宣言位置についての注意
今までのsampleコードでは、
main( )関数のブロック内の先頭
に変数の宣言をしています。
C言語では、ブロック内の様々な文に先立って、
変数の宣言を記述しなくてはいけないことになっています。
ブロック外に変数を宣言する方法もあるのですが、
それはあとで勉強するそうです。
尚、同じブロック内で同じ識別子の変数を宣言することもできません。
〜END〜