プログラムにおいて、ブロック内で宣言された識別子(変数や関数などの名前)のスコープのことです。
ブロックスコープ内で宣言された識別子はそのブロック内でのみ有効であり、ブロックの外部からはアクセスできません。これにより、同じ名前の識別子を異なるブロックで再利用することが可能になり、コードの可読性や保守性が向上します。
次のプログラムは、C言語におけるブロックスコープの例です。
void func(void)
{
int a = 0;
{
int b = a; // a は参照できる
// ...
} // b のスコープはここまで
= 10;
a = 10; // エラー。b は見えない
b
// ...
} // a のスコープはここまで
宣言された変数は、それぞれを宣言したブロック内がスコープ(ブロックスコープ)となります。変数a は func関数の終わりまでアクセスできることになりますが、変数b はそのブロックの終わりまでしかアクセスできません。より正確にいえば、宣言された変数をアクセスできる範囲は、その変数が宣言された位置からブロックの終わりまでです。
C言語のスコープについてはC言語編「スコープと記憶域期間」で、C++ のスコープについては新C++編「スコープと名前空間」で詳しく解説しています。
ブロックスコープを持つ変数のことをローカル変数と呼ぶことがあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |