工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ の変数スコープ

スコープはプログラムの領域であり、大まかに言えば、変数を宣言できる 3 つの場所があります −

関数とは何か、およびそのパラメーターについては、後続の章で学習します。ここで、ローカル変数とグローバル変数とは何かを説明しましょう。

ローカル変数

関数またはブロック内で宣言された変数は、ローカル変数です。それらは、その関数またはコード ブロック内にあるステートメントでのみ使用できます。ローカル変数は、それ自体の外部の関数には認識されません。以下は、ローカル変数を使用した例です-

ライブデモ
#include <iostream>
using namespace std;
 
int main () {
   // Local variable declaration:
   int a, b;
   int c;
 
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout << c;
 
   return 0;
}

グローバル変数

グローバル変数は、すべての関数の外で、通常はプログラムの上で定義されます。グローバル変数は、プログラムの存続期間中、その値を保持します。

グローバル変数は、どの関数からもアクセスできます。つまり、グローバル変数は、宣言後にプログラム全体で使用できます。以下は、グローバル変数とローカル変数を使用した例です-

ライブデモ
#include <iostream>
using namespace std;
 
// Global variable declaration:
int g;
 
int main () {
   // Local variable declaration:
   int a, b;
 
   // actual initialization
   a = 10;
   b = 20;
   g = a + b;
  
   cout << g;
 
   return 0;
}

プログラムはローカル変数とグローバル変数に同じ名前を付けることができますが、関数内のローカル変数の値が優先されます。たとえば-

ライブデモ
#include <iostream>
using namespace std;
 
// Global variable declaration:
int g = 20;
 
int main () {
   // Local variable declaration:
   int g = 10;
 
   cout << g;
 
   return 0;
}

上記のコードをコンパイルして実行すると、次の結果が生成されます −

10

ローカル変数とグローバル変数の初期化

ローカル変数が定義されている場合、システムによって初期化されないため、自分で初期化する必要があります。グローバル変数は、次のように定義すると、システムによって自動的に初期化されます −

データ型 初期化子
整数 0
文字 '\0'
フロート 0
ダブル 0
ポインター NULL

変数を適切に初期化することは、プログラミングの良い習慣です。そうしないと、プログラムが予期しない結果を生成することがあります。


C言語

  1. C# 変数と (プリミティブ) データ型
  2. C# 変数のスコープ
  3. C++ の変数、リテラル、および定数
  4. C++ 演算子
  5. C++ コメント
  6. C の変数、定数、およびリテラル
  7. C ストレージ クラス
  8. Python グローバル変数、ローカル変数、および非ローカル変数
  9. C++ の変数と型:int、double、char、string、bool
  10. C++ ポインタと例
  11. Java - 変数の型