C言語/データ型と変数
< C言語
データ型と変数の基本
編集「C言語/基礎知識#データ型と変数の基本」も参照
変数とはデータを格納しておく領域、またはその個々の領域に付けられた識別子のことです。 変数はふつうメモリ上に確保され、値を代入したり参照したりすることができます。
C言語で使える「変数」の値は、かならずしも数値でなくてもよく、文字列でもかまいません。 しかし、文字列を変数の値に使うにあたっては、文字数の管理など煩雑な事項が多いので、当面は、数値を入れられた変数をあつかいます。
変数を使用する手順は以下のとおりです。
- 変数の使用を宣言する(必要ならば変数に初期値を与えること=初期化もできます)。
- 変数へ値を代入します。
- 変数の値を参照します。
変数の宣言の形式は
記憶域クラス指定子opt 型修飾子opt 型指定子 変数の識別子;
となります。
記憶域クラス指定子と型修飾子はそれぞれ省略できます。 また記憶域クラス指定子、型修飾子、型指定子の順序はこの通りでなくてもかまいません。 記憶域クラス指定子、型修飾子、型指定子については後述します。
また、変数の宣言と同時に初期化することもできます。
//例 int型の変数を宣言し、0で初期化します。
int main(void)
{
int i=0;
}
同じ型の変数は「,(コンマ)」で区切って一行で宣言できます。
//例 int型の変数i, j, kを一行で宣言します。
int main(void)
{
int i, j, k;
}
代入
編集変数にデータを格納することを代入と呼びます。
代入の形式は
変数名 = 式;
となります。
「=」は代入演算子と呼ばれ、左辺の変数の識別子が指す変数に右辺の式の値を代入します。 数学における等号とは異なるので注意してください。 式とは定数、変数、関数の返却値などを演算子を使って結合したものです。
変数と式のデータ型が異なる場合、式のデータ型を変数のデータ型に自動的に変換する(暗黙の型変換)。 その際、変数のデータ型が式のデータ型より小さい場合、文字型又は整数型同士の場合、上位ビットが切り捨てられ[1]、 変数が文字型又は整数型で式が浮動小数点型の場合、小数点以下切捨てとなり[2]、 浮動小数点型同士の場合、精度が落ちる[3]。
脚註
編集参考文献
編集- 国際標準化機構/国際電気標準会議 ISO/IEC 9899:2018(en) Information technology — Programming languages — C(2018-07-05)
- 日本工業標準調査会(当時、現:日本産業標準調査会)『JISX3010 プログラム言語C』2003年12月20日改正