変数宣言をしただけで値の設定を行わない場合、暗黙の初期が行われる。変数宣言をす
ると、コンピューターのメモリーが予約される。予約されたメモリーの各ビットは、
0 か
1 が詰まっているわけでなにがしかの値がある。この値であるが、変数
の記憶クラスによって異なる。
- 自動変数とレジスタ変数の場合、値がどのようになっているか分からない。
- 静的変数(static)とグローバル変数の場合、0となっている。
自動変数の値の設定を行わないで、ゼロになっていると勘違いし、プログラムを作成しす
ることがある。自動変数を使うときには十分注意が必要である。
- [練習1]
- 整数型の変数として、グローバル変数 i 、ローカルの
自動変数 j 、ローカルの静的変数 k を宣言して、
それに格納されている値を調べよ。(ヒント:p.91の上の方の
プログラム)
教科書の p.91 に書かれているように、変数宣言とともに代入演算子を用いて、初期値を
設定できる。この設定する初期値は、コンパイル時に値が計算できなくてはならない。静
的変数(
static)はコンパイル時に値が決定されて、それがメモリーの初期値となる。
自動変数はその関数が実行されるときに初めて、メモリーが確保されて、その値が設定さ
れる。この辺の話は、関数の時にするので、あまり気にしないで欲しい。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
yamamoto masashi
平成17年5月14日