next up previous contents index
Next: 静的変数 Up: 変数 Previous: 変数の宣言

   
通用範囲に関する規則

MATXプログラムを構成する関数と大域変数は,全てを同時にコンパイル必要はない, プログラムのソース・テキストを数個のファイルに保存しておき,以前にコンパイル したルーチンをライブラリからロードしてもよい。

変数の名前の通用範囲(scope)は,その名前が定義されるプログラムの部分である。 関数の始めに宣言される局所変数では,通用範囲はその名前が宣言される関数であり, 同じ名前の局所変数が別の関数にあってもこれとは関係がない。 同じことは関数の引数についてもいえる。それらは実質的には局所変数だからである。

関数の通用範囲は,コンパイルされるべきファイルで宣言された点から そのファイルの終りまで続く。 一方,大域変数が定義される前に参照されたり,
main()関数の定義されているファイルと別のソース・ファイルで参照 されたりすると,extern宣言が必要となる。  

大域変数の宣言とその定義の区別は重要である。 宣言は変数の性質を指示するものだが,定義は記憶への割り付けも引き起こす。 ただし,インタプリタ(matx)では, 宣言によって記憶への割り付けも行なわれる。

インタプリタ(matx)の実行中,関数の外側では, どんなデータでもそのクラスに関係なく任意の変数に代入することができる。 すなわち,左辺の変数のクラスと 右辺のデータのクラスが一致してなくても,代入は成功する。 また,次の節で説明する暗黙の型変換によって,異なる型のデータの 代入が可能となる場合がある。 これ以外の全ての場所では,代入において,左辺の変数のクラスと右辺のデータ のクラスは一致していなければならない。


Masanobu KOGA 平成10年8月19日