Latest web development tutorials

C ++の変数のスコープ

スコープは、地域プログラムであり、一般的に、あなたは変数を宣言することができる3つの場所があります:

  • コードのブロック内で宣言された関数や変数は、ローカル変数と呼ばれます。
  • 関数のパラメータの定義で宣言された変数は、仮パラメータと呼ばれます。
  • 関数の外で宣言されているすべての変数は、グローバル変数と呼ばれます。

私たちは、機能とパラメータが何であるか、後の章で学びます。 この章では、まず、ローカルおよびグローバル変数を宣言することについて説明します。

ローカル変数

コードのブロック内で宣言された関数や変数は、ローカル変数と呼ばれます。 彼らは唯一のステートメント内のコードの関数やブロック内で使用することができます。 次の例では、ローカル変数を使用します。

#include <iostream>
using namespace std;
 
int main ()
{
  // 局部变量声明
  int a, b;
  int c;
 
  // 实际初始化
  a = 10;
  b = 20;
  c = a + b;
 
  cout << c;
 
  return 0;
}

グローバル変数

機能(プログラムの通常ヘッド)外で定義されているすべての変数では、グローバル変数として知られています。 プログラムのライフサイクル全体にわたるグローバル変数の値が有効です。

グローバル変数は任意の関数によってアクセスすることができます。 つまり、一度プログラムを通して宣言されたグローバル変数が用意されています。 次の例は、グローバルとローカル変数を使用します。

#include <iostream>
using namespace std;
 
// 全局变量声明
int g;
 
int main ()
{
  // 局部变量声明
  int a, b;
 
  // 实际初始化
  a = 10;
  b = 20;
  g = a + b;
 
  cout << g;
 
  return 0;
}

プログラムでは、ローカル変数とグローバル変数が同じにすることができますが、関数の内部で、ローカル変数はグローバル変数の値を上書きします。 次に例を示します。

#include <iostream>
using namespace std;
 
// 全局变量声明
int g = 20;
 
int main ()
{
  // 局部变量声明
  int g = 10;
 
  cout << g;
 
  return 0;
}

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

10

ローカルおよびグローバル変数を初期化します

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

数据类型初始化默认值
int 0
char '\0'
float 0
double 0
pointer NULL

正しく初期化された変数は、そうでなければ、プログラムが予期しない結果が生じる可能性があり、良いプログラミングの練習です。