07/06/27 00:41:11
>>336
そう、staticは参照の範囲を同一のファイル内だけに限定できる。
そして、指摘の通り
int g_data = 0; // 広域変数
int *getGlobal(void) { return &g_data; }
みたいなのも、手法としてはある。
利点は、広域変数をモジュールの中に置ける事で、Cでオブジェクト指向もどきな設計ができること。
反面、C++のgetterと違ってポインタを取得できてしまうから、それを通じて外から値を書き換えてしまうこともできる。
でもgotoと一緒で使いどころさえ間違えなければ大丈夫。