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