外部変数は2つの側面があります。一つは、外部変数を確保したモジュール内部
から等しく見えるというモジュール内グローバル変数的な面と、今一つは
モジュール外部からも見えるという文字通りのグローバル変数としての側面です。
従って、モジュール内部では共通に利用したいが、モジュール外部からは見えない
ようにしたいという場合も当然出て来るでしょう。
例えば、前に作成した RPG のゲームにおいて、主人公の状態に関する
変数をモジュール内部では共通に利用できるようにしたいが、外部の
他のソースからは勝手に変更
出来ないようにしておけば、プログラムの安全性は高まるでしょう(
プログラマー自身の間違いから守られるという事)。
そうした用途のために、外部変数を宣言する際に、static
クラスに指定する方法があります。このようにすると、外部変数でありながら、
モジュール外部からは参照できない変数になります。
static int module_global; |