変数宣言 変数の宣言とそのスコープ記憶期間 static でない関数ブロックの外 スコープ:全域 / 記憶期間:何時でも 他のファイルからは extern 宣言が必要 static 変数 スコープ:その位置で決定 / 記憶期間:何時でも auto 変数 スコープ:その位置で決定 / 記憶期間:関数内 変数によるスコープの遮蔽 内側のスコープの同名の宣言があると外側のスコープ無効になる 内側のスコープが終了すると外のスコープが復活 変数の初期化式のスコープは外の変数のスコープ cf. 「int x = x;」 はちゃんと意味がある