導入
コンピューター プログラミングでは、グローバル変数は関数またはクラスの本体の外側で宣言された変数であるため、プログラム内のどこでも使用できます。グローバル スコープ変数についても説明します。

C++言語でのグローバル変数の例
#含むグローバルint = 3 ; // グローバル変数void ChangeGlobal ( ) { global = 5 ; // 関数内のグローバル変数への参照} int main ( ) { std :: cout << global << ' \n ' ; // 別の関数のグローバル変数への参照ChangeGlobal ( ) ; std ::コスト<<グローバル<< ' \n ' ; 0 を返します。 }
変数はグローバルなので、関数で使用するためにパラメータとして渡す必要はありません。グローバル変数は、プログラム内のすべての関数に属します。
出力は次のようになります。
3 5
グローバル変数のない言語
Gambas 開発環境(Visual Basic のGNUクローン) では、グローバル変数を使用できません。ただし、 PUBLICとして宣言された変数はプロジェクト全体からアクセス可能になります。
Haskellのような純粋関数型言語には変数がまったくないため、グローバル変数もありません。

メリットとデメリット
利点
グローバル変数は、最初に関数パラメータとして渡さなくてもプログラム内のどこでも使用できるため、グローバル変数を使用すると、プログラムの設計と記述が簡素化されます。

短所
一方、これらの変数を使用すると、プログラムの理解だけでなく、デバッグやその後の変更も難しくなります。
デバッグ中にグローバル変数に誤った情報が含まれている場合、プログラムのどの部分でも変数が変更されている可能性があるため、エラーの原因を見つけるのは非常に困難です。
プログラムを変更する場合、グローバル変数の処理を変更するのは複雑です。変数はどの関数からでも変更できるため、元のプログラムで変数がどのように扱われたかを知るにはプログラム全体を理解する必要があるためです。
ソフトウェア ライブラリを作成する場合、グローバル変数は、誤って使用されると (よくあることですが)再入を妨げます。このため、ライブラリの作成には使用しないことが推奨されます。
推奨事項
グローバル変数には利点よりも欠点のほうが大きいため、プログラムの設計でこのタイプの変数を使用することはお勧めできません。ローカル変数 (または、グローバルな側面が必須の場合はアクセサーを備えたシングルトン) の使用を優先します。
残念ながら、一部のプログラマはプログラム開発の初期段階を高速化するためにこれらのグローバル変数を使用します。彼らは多くの場合、クライアントの新しいニーズに合わせてプログラムを修正したり修正したりする時期が来たときに、代償を支払います。
