TPY ENGINEERING VLOG

TPY ENGINEERING VLOG(C,JAVA)

*C言語* 〜7時限目〜 変数を初期化する・・・

〜目次〜 

 

変数を初期化する

sample7では、

int num;

num = 3;

のようにして、変数を宣言してから、

もう1つの文を記述して、

変数の中に代入していました。

しかし、C言語では

変数を宣言したとき、同時に、変数に値を格納する

という書き方をすることができます。

このような処理のことを、

変数を初期化する(initialization)

と呼びます。

変数を初期化するコードは、以下のようにして書きます。

int num = 3;

この文は、sample7で2文に渡って書いた処理を、

1文でまとめて行なっているものです。

変数の初期化については以下です。

型名 識別子 = 式;

実際にコードを書く際には、

できるだけ変数を初期化するコードを用いたほうが

便利になります。

 

変数の値を更新する

コードの中では、文が1つずつ順番に処理されるという性質を使って、

一回代入した変数の値を新しい値に変更することができます。

sample8.c

f:id:YuyaTerayama:20180902195445p:plain

―sample8の実行画面

変数numの値は3です。

変数numの値を変更しました。

変数numの新しい値は7です。

変数にもう一度値を代入することで、

値を上書きし、変数の値を変更する

という処理を行うことができます。

 

他の変数の値を代入する

値を代入する時に=の右辺に記述することができるのは、

3や7などといった一定の数値だけではありません。

実際に以下のコードを入力してみてください。

sample9.c

f:id:YuyaTerayama:20180902200057p:plainーsample9の実行画面ー

変数num1の値は7です。

変数num1の値を変数num2に代入しました。

変数num2の値は7です。

今回の場合、=の右辺には数値ではなく、

変数num1を記述しています。

すると、変数num2には変数num1の値が代入されます。

実行結果を見ると確かに、num1の値である7がnum2に、

格納されていることがわかります。

このように、

変数の値を他の変数に代入する

ということもできるのです。

 

値の代入についての注意

変数に値を代入する際には、

注意しなくてはいけないところがあります。

以下のコードを入力してみてください。

sample10.c

f:id:YuyaTerayama:20180902200547p:plain

ーsample10の実行結果ー

変数numの値は1です。

今回、numには「1.25」を代入しています。

しかし、実行結果を見ると、

「1」と表示されてしまっています。

これは、int型の変数であるnumには、

整数値しか格納できないという規則があるためです。

変数は、宣言した型によって、

格納できる値の種類が決まります。

なので、整数値の型に小数値を代入すると、

自動的に型の変換が行われてしまい、小数点が切り捨てられてしまいます。

変数を宣言する際には、型にも注意をする必要があるので注意です。

 

変数の宣言位置についての注意

今までのsampleコードでは、

main( )関数のブロック内の先頭

に変数の宣言をしています。

C言語では、ブロック内の様々な文に先立って、

変数の宣言を記述しなくてはいけないことになっています。

ブロック外に変数を宣言する方法もあるのですが、

それはあとで勉強するそうです。

尚、同じブロック内で同じ識別子の変数を宣言することもできません。

 

〜END〜