ファイルスコープ | Programming Place Plus 用語集

トップページ用語集

名称 🔗

解説 🔗

プログラムにおいて、ファイルソースファイル)内あるいは翻訳単位内で有効な識別子変数関数などの名前)のスコープのことです。

プログラミング言語ごとの違いはありますが、関数やクラスブロックなどの外側で宣言された識別子がファイルスコープを持ちます。ファイルスコープを持つ識別子は、宣言されたファイル内全体で有効であり、そのファイルのどこからでもアクセスできます。そのため、同じ名前の関数や変数が異なるファイルのファイルスコープで宣言されていても、互いに影響を与えることはありません。

ただし、C言語の場合、インクルードによってほかのソースファイルの内容を取り込むことができるため、同じソースファイル内かどうかということよりも、翻訳単位が同一であるかがポイントになります。本当に同じソースファイルからのみアクセスできるようにするためには、変数宣言時に static指定子を付加します。

また、C++ の場合、名前空間が存在するため、名前空間スコープと呼びます。名前空間に囲まれていない場合はグローバルスコープと呼ぶこともありますが、これも名前空間スコープの一種と考えられます。

C言語にも名前空間と呼ばれる仕様はありますが、C++ とは意味が異なります。

ファイルスコープを持つ変数のことをグローバル変数と呼ぶことがありますが、厳密には正確ではありません。グローバル変数はプログラム全体で有効な変数であり、ファイルスコープはこれと正確に同じとはいえない可能性があります。

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

参考リンク 🔗

更新履歴 🔗


用語集のトップページへ

Programming Place Plus のトップページへ



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