C言語/データ型と変数

出典: フリー教科書『ウィキブックス(Wikibooks)』


データ型と変数の基本[編集]

変数とはデータを格納しておく領域、またはその個々の領域に付けられた識別子のことです。 変数はふつうメモリ上に確保され、値を代入したり参照したりすることができます。

C言語で使える「変数」の値は、かならずしも数値でなくてもよく、文字列でもかまいません。 しかし、文字列を変数の値に使うにあたっては、文字数の管理など煩雑な事項が多いので、当面は、数値を入れられた変数をあつかいます。

変数を使用する手順は以下のとおりです。

  1. 変数の使用を宣言する(必要ならば変数に初期値を与えること=初期化もできます)。
  2. 変数へ値を代入します。
  3. 変数の値を参照します。

変数の宣言の形式は

記憶域クラス指定子opt 型修飾子opt 型指定子 変数の識別子;

となります。

記憶域クラス指定子と型修飾子はそれぞれ省略できます。 また記憶域クラス指定子、型修飾子、型指定子の順序はこの通りでなくてもかまいません。 記憶域クラス指定子、型修飾子、型指定子については後述します。

また、変数の宣言と同時に初期化することもできます。

//例 int型の変数を宣言し、0で初期化します。
int main(void)
{
	int i=0;
}

同じ型の変数は「,(コンマ)」で区切って一行で宣言できます。

//例 int型の変数i, j, kを一行で宣言します。
int main(void)
{
	int i, j, k;
}

代入[編集]

変数にデータを格納することを代入と呼びます。

代入の形式は

変数名 = ;

となります。

「=」は代入演算子と呼ばれ、左辺の変数の識別子が指す変数に右辺の式の値を代入します。 数学における等号とは異なるので注意してください。 式とは定数、変数、関数の返却値などを演算子を使って結合したものです。

変数と式のデータ型が異なる場合、式のデータ型を変数のデータ型に自動的に変換する(暗黙の型変換)。 その際、変数のデータ型が式のデータ型より小さい場合、文字型又は整数型同士の場合、上位ビットが切り捨てられ[1]、 変数が文字型又は整数型で式が浮動小数点型の場合、小数点以下切捨てとなり[2]、 浮動小数点型同士の場合、精度が落ちる[3]


脚註[編集]

  1. ^ 『JISX3010:2003』p.32「6.3.1.3 符号付き整数型及び符号無し整数型」
  2. ^ 『JISX3010:2003』p.32「6.3.1.4 浮動小数点型及び整数型」
  3. ^ 『JISX3010:2003』p.32「6.3.1.5 浮動小数点型」

参考文献[編集]