変数宣言の書き方

C言語では、変数宣言は以下のように記述します。

変数名;

命令の書き方でも説明した通り、変数名は半角英数しか使えません。
また、大文字と小文字の区別があるので名前を付ける時には注意が必要です。

スポンサーリンク

サンプルプログラム

ソースファイル名:main.c

実行方法

ソースを書き写して、デバッグモードでステップ実行しながらサイズの値の変わり方を見てください。
vintに関しては動作環境によって変わりますが、大体 4 と出力されると思います。

変数とは

変数とは何かというと、数学で出てきたxやyと同じです。
何らかの可変の数字が入る箱と考えておけば大丈夫です。

char vchar;

この一文の意味は、char型変数を作成します。その変数の名前はvcharと言います"
という意味になります。
vcharが学校でよく使った x や y に相当します。

しかし、C言語上の変数は、数学で使用したxやyとは少し違いがあります。
それは何かというと、C言語の変数には型によってバイト数が異なることです。
型とは、char や int 等、変数宣言部分の青字で書かれている個所です。

上のサンプルプログラムの sizeof() という部分は、各変数のバイト数を算出してくれるコードになっています。 つまり、上のプログラムは、各変数のバイト数を計算しているのです。

各変数のバイト数は以下の通りです。

char 1バイト整数
short 2バイト整数
long 4バイト整数
int 16bitマシン:2バイト
32bitマシン:4バイト
64bitマシン:8バイト
float 4バイト浮動小数点
double 8バイト浮動小数点
bool 1バイト成否判定

ステップ実行をして、size の値を一つ一つ調べると、上の表と同じ数字になると思います。

※ バイトが何か分からないなら以下のページを参考にしてください。

→ バイトとは、ビットとは

変数の上限値はそれぞれ違う

変数の型によってバイト数が変わるということを書きましたが、バイト数が違うと各変数でどんな違いがあるのでしょうか?

それは、変数が保持することができる上限値です。
バイト数が増えれば扱える数字の範囲も大きくなります。
保持できる数字の範囲は以下の通りです。

char -127 ~ 127
short -32767 ~ 32767
long -2147483648 ~ 2147483647
int 16bitマシン:-32767 ~ 32767
32bitマシン:-2147483648 ~ 2147483647
64bitマシン:8バイト
float およそ10の-38乗 ~ 約10の38乗
double およそ10の-308乗 ~ 約10の308乗
bool 0 or 1

各変数で大きな違いがあることがわかると思います。
この上限値は、全て覚えないと思うかもしれませんが、char と short 以外は基本的には覚える必要はありません。
他は数字が大きすぎるので、ほとんどオーバーフローすることがないからです。

ただ、C言語で使う変数は、色々な型があり、型により上限値が違うということだけは覚えておいてください。

スポンサーリンク