next up previous contents index
: モジュール機能 : ライブラリの書き方 : 関数名の衝突の回避   目次   索引

変数名の衝突

Asir プログラムでは, 関数内で宣言なしにあらわれた変数は全て局所変数な ので, どのような変数名を使っても問題はないが, 大域変数 (extern宣言され た変数) は要注意である. トップレベルでは比較的短い名前 (1 文字など) を 使うことが多い. そのため, ファイル中で短い名前の変数を extern 宣言する と, 計算途中その変数に思わぬ値が代入されてしまう場合がある. ファイル中で初期データなどを入力する場合, 関数の外で行われた変数への 代入は, 全て大域変数への代入となる. 即ち, 「トップレベル」というのが 必ずしも手で入力しているという意味ではないことに注意.

Asir Contrib では, たとえば Taka_print_flag のように, パッケージを書いた人の識別子からはじまる, 大域変数名をもちいるのを推奨している.



Nobuki Takayama 平成15年9月12日