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