C言語 プログラミング

 

スポンサードリンク

 

変数とは

 

変数(variable)とは数値や文字などを格納する箱のようなものです。

プログラムを実行する際には、変数にいろいろな値を記憶させながら処理を実行していきます。

変数はコンピュータのメモリに格納されることになります。

 

変数の宣言

 

変数は「型」「変数名」を宣言することで利用可能になります。

変数宣言の一例

上の一例の場合、【型名:int】 – 【変数名:i】になります。

変数名はあらかじめ使われている単語の予約語(keyword)以外なら自由に命名することができます。

 

C言語の予約語・キーワード

auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while

全32個の予約語

 

また、変数に与えられた名前を識別子(identifer)と呼びます。

識別子にはいくつかの条件があり

・英字・数字・アンダースコアの組わせになります。

・特殊な記号は使えません。

・予約語・キーワードは使えません。

・先頭文字に数字は使えません。

識別子・変数名からどのような値を保持する変数なのかわかるように命名すると良いでしょう。

 

同じ型の変数を宣言する場合、上記のようにカンマ区切りで一気に変数を宣言することもできます。

 

変数の型について

 

種類 名前 サイズ例 最小値 最大値
文字型 char 1 Byte -128 127
unsigned char 1 Byte 0 255
整数型 short int 2 Byte -32768 32767
unsigned short int 2 Byte 0 65535
int 4 Byte -2147483648 2147483647
unsigned int 4 Byte 0 4294967295
long int 4 Byte -2147483648 147483647
unsigned long int 4 Byte 0 -4294967295
浮動小数点型 float 4 Byte 3.4E-38 3.4E+38
double 8 Byte 1.7E-308 1.7E+308
long double 8 Byte 1.7E-308 1.7E+308

文字型:英数字を扱いたい場合

整数型:整数を扱いたい場合

浮動小数点型:小数を扱いたい場合

 

特に大きな数字を使わない場合は

char型 int型 double型

を使えばいいでしょう。

 

上の型データは只の一例で、実際には環境によって異なる結果となります。

型についての詳しい記述は下記の記事に記載があります。

C言語 – 型について

 

変数への代入

変数へ英数字を代入するには=(イコール)記号を用いて次のように記述します。

下記のコードでは、int型のnumberという変数に数値1を代入しています。

 

変数には数字や文字だけでなく、式も代入することが可能です。

下記のサンプルコードでは、int型変数numberに2*3、つまり6を代入して表示するというものです。

 

変数から変数への代入も可能です。

下記のサンプルコードでは、int型のnum1変数にint型のnum2変数を代入しています。

実行結果を見て分かる通り、num1にnum2の値が代入されて2回目の表示結果でnum1,num2ともに10となっていることが確認できます。

 

変数から変数への代入で注意するポイントが変数型です。

同じ型同士で代入する場合は特に問題はありませんが、異なる型での代入には注意が必要です。

下記のサンプルコードでは、int型のnum_intにdouble型のnum_doubleを代入しています。

1回目の出力ではnum_intが不定値70959149、num_doubleが1.5000000となります。

2回目の出力ではnum_doubleを代入したnum_intの値が1になっています。

これはnum_intがint型の変数のため小数を保持することができないため小数点が切り捨てられてしまうからです。

 

変数の初期化

変数の初期化(initialize)とは、変数を宣言する際に値を決めてしまうことです。

初期化の際に代入する値を初期化子(initializer)と呼びます。

下記のサンプルではint型の変数numberを0で初期化しています。

変数宣言時に変数には不定値が格納されています。

初期化されていない変数にそのままインクリメント・デクリメントを行うと予期しない論理エラーが発生する元になります。

下記は変数を初期化しないで出力するサンプルコードです。

初期化されていないint型のnumber変数の値が1323846341になっていることがわかります。

変数宣言の際に保有する値が決まっている場合は、初期化しておいた方が安全です。

 

おすすめのテキスト

C言語 – 変数、宣言、代入、初期化
Tagged on:

コメントを残す