C プログラミング言語でのグローバル変数の使用について質問があります。グローバル変数を使用しない日がこれほど多くなったことはありません。だから、私の質問は: C でグローバル変数を使用するかどうか? 誰かが私に説明を与えることができますか?もちろん、パフォーマンスに関する質問も含めるべきです。
質問に答えるのに役立つより具体的なケース: たとえば、struct
プログラムによってほとんどすべての関数によってアクセスされる s を保持するグローバル配列がある場合、関数呼び出しごとにこの配列の 2 つのメンバーを取得する必要があります。この場合、アクセスしたいこの配列内のメンバーへの 2 つの変数 (ポインター) を作成する必要があります。このようにfoo_t *x,*y
。プログラムの実行中に、さまざまな機能で数回発生します。この特定のケースでは、(それを呼び出す各関数の)グローバル変数またはローカル変数にする必要がx
ありますか?y
一部の人々は、コンピュータのメモリやプログラムのパフォーマンスにとってコストが高すぎると主張しています。
これが明確であることを願っています。