A-94 E3 Computer Nyumon C-group
A-94 E3 コンピューター入門 第二

      ☆〜☆〜☆〜☆〜  C グループ 〜☆〜☆〜☆〜☆
C 言語における、名前の有効範囲(スコープ) ○C言語では 変数や関数、ラベル、構造体、共有体 に名前を使用します。 名前には、プログラムfileの全域で通用するもの、関数内でしか通用しない もの、ブロックの中でしか通用しないものの 3つの有効範囲があります。 それぞれ ファイルスコープ 関数スコープ ブロックスコープ と呼びます。 ●ファイルスコープ 関数名は プログラムの全域で通用するので、名前は 一義的になっていなけ ればなりません。(同じ名前の関数が 2つ以上あってはいけない。C++除く) 変数名は 関数の外で宣言されると、プログラムの全域で通用する変数になり ます。この変数をグローバル変数と呼びます。 ●関数スコープ ラベル名は 関数の内部でのみ通用します。ブロックからの脱出などに使われ るので 関数の内部で一義的になっていなければなりません。 ●ブロックスコープ 変数名は 関数の内部で宣言されると、その関数の内部でのみ通用する変数に なります。グローバル変数に同じ名前がある場合には 関数内部の宣言が優先 します。これをスコープによるの隠蔽(いんぺい)と言 います。 変数名は ブロックの内部で宣言されると、そのブロックの内部でのみ通用 する変数になります。同じ変数名のものが 上位のスコープに存在する時は、 ブロックの内部の宣言が優先します。これをブロックスコープによる隠蔽と いいます。またブロックはネスト出来ますが、内側の方の名前が優先します。

m9410171@edu.cc.uec.ac.jp