global 変数の使い方
存在自体が好ましくない extern な global 変数を使うときは、 .h に定義が書いてあったり、ソースファイルの #include の次の関数の外あたりに宣言を書きがち。
extern int global_value; void nantara(int val) { if(val == xxx){ nanika_shori(global_value); } }
static const な変数(定数)は関数の中に書くことが割と普通なので、同様にしてみた。
void nantara(int val) { extern int global_value; if(val == xxx){ nanika_shori(global_value); } }
コンパイラも文句も言わないし、こちらの想定通りの動作をしている。というわけでもっと有効範囲を狭めることも出来る。
void nantara(int val) { if(val == xxx){ extern int global_value; nanika_shori(global_value); } }
PC用のソフトで global 変数を使うことは問題外だが、リソースが限られてる状況のソフトでは割と使えるのでおためしあれ。2011年現在そういうことでもなければ C なんて使わないよね。