ブロックスコープ | Programming Place Plus 用語集

トップページ用語集

名称 🔗

解説 🔗

プログラムにおいて、ブロック内で宣言された識別子変数関数などの名前)のスコープのことです。

ブロックスコープ内で宣言された識別子はそのブロック内でのみ有効であり、ブロックの外部からはアクセスできません。これにより、同じ名前の識別子を異なるブロックで再利用することが可能になり、コードの可読性保守性が向上します。

次のプログラムは、C言語におけるブロックスコープの例です。

void func(void)
{
     int a = 0;

     {
          int b = a;  // a は参照できる
          // ...

     } // b のスコープはここまで

     a = 10;
     b = 10;  // エラー。b は見えない

     // ...

} // a のスコープはここまで

宣言された変数は、それぞれを宣言したブロック内がスコープ(ブロックスコープ)となります。変数a は func関数の終わりまでアクセスできることになりますが、変数b はそのブロックの終わりまでしかアクセスできません。より正確にいえば、宣言された変数をアクセスできる範囲は、その変数が宣言された位置からブロックの終わりまでです。

C言語のスコープについてはC言語編「スコープと記憶域期間」で、C++ のスコープについては新C++編「スコープと名前空間」で詳しく解説しています。

ブロックスコープを持つ変数のことをローカル変数と呼ぶことがあります。

参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る