次の方法で共有


スコープおよびビュー

識別子の 「参照」によって参照できるプログラムの部分を」 — 「範囲。識別子は「範囲に含まれているプログラムの一部でのみ表示されます (つまり使用可能) 」 (ファイルに増加する restrictiveness 度順) を制限する可能性があるまたは関数プロトタイプを表示しブロック。識別子のスコープとは名前が使用できるプログラムの一部です。これは構文のスコープは「」と呼ばれます。4 種類のスコープがあります : 関数ファイルブロックや関数プロトタイプ。

ラベルに宣言が発生したレベルによって決定されるスコープを持つ以外のすべての識別子。それぞれの範囲の次の規則はプログラム内の識別子の表示を制御します :

  • ファイルのスコープ
    ファイル スコープの識別子の宣言または型指定子はパラメーターのリストまたはブロックの外部に宣言の後に翻訳単位の任意の場所からアクセスできるようになっています。ファイルのスコープ識別子名は呼び出されますグローバル 「」または 「」と外部グローバル識別子の範囲を定義または宣言の時点で始まり翻訳単位の末尾で終了します。

  • 関数スコープ
    ラベルは関数スコープを持つ識別子の唯一の型です。ラベルはステートメントで暗黙的に宣言されています。ラベル名は関数内で一意である必要があります。ラベルとラベル名の詳細についてはgoto とラベル付きステートメント を参照してください)。

  • ブロック スコープ
    ブロック スコープ識別子の宣言または型指定子がブロック内でまたは関数定義の仮パラメーターの宣言の一覧内に表示されます。これは宣言または定義の位置だけ宣言または定義を含むブロックの末尾に表示されます。この範囲がそのブロックとこのブロック内に入れ子になっている各ブロックに制限され関連付けられたブロックを閉じる中かっこがありません。このような識別子は呼び出されます」。と 「ローカル変数

  • 関数プロトタイプの範囲
    関数プロトタイプのスコープ識別子の宣言または型指定子は関数宣言の関数プロトタイプはなく) 一部のパラメーター宣言の一覧内に表示されます。この範囲は関数の宣言の末尾で終了します。

変数を ストレージ クラス の他のソース ファイルで表示するための適切な宣言が記述されています。ただし 静的 " ストレージ クラスの指定子と水平方向の外部で宣言された変数と関数が定義されているソース ファイル内だけで参照可能です。他の関数はすべてグローバルに参照できます。

参照

概念

有効期間、スコープ、表示、およびリンケージ