ローカル変数とグローバル変数
多くの場合、サブルーチン内でのみ使用される追加の変数を使用する必要があります。このような変数は
ローカル (またはローカル) と呼ばれ、変数が作成されたサブルーチン内でのみ操作できます。
ローカル変数スコープは、その変数が宣言される中括弧で囲まれたブロックです
C++ のメイン プログラムもサブルーチンであるため、
main()
内で宣言されたすべての変数はローカル変数です。
他のサブルーチンは、他のサブルーチンのローカル変数について何も「認識」しません。
したがって、変数の有効範囲 (スコープ) を、それが本当に必要なサブルーチンのみに制限することができます。プログラミングでは、この技術は
カプセル化と呼ばれます。 - 変数が外部から変更されないように隠します。
プログラム内の任意の場所 (サブルーチン内) で参照できる変数を宣言する必要がある場合、そのような変数はすべてのサブルーチンの外側で宣言されます (以下の表のプログラム 3 を参照)。
このような変数は
グローバルと呼ばれます。
C++ では、プログラムの開始時に、すべてのグローバル変数が自動的にゼロに設定されます (ブール変数は値 false をとります
)。
3 つのプログラムを分析します。
<テーブル align="center" border="1" cellpadding="1" cellpacing="1" style="width:95%">
<本体>
1) このプログラムでは、変数 i はローカルです。ローカル変数がサブルーチン内で宣言されている |
2) ここでは、メイン プログラムに変数 i (値 7) が存在する場合でも、値 5 の新しいローカル変数 i が作成されます。
このプログラムを実行すると、画面に値 75 が表示されます |
3) このプログラムにはグローバル変数 i があります。その値はサブルーチン内およびメイン プログラム内で変更できます。
このプロシージャはグローバル変数 i を使用して動作し、新しい値 2 が割り当てられます。値 2 | が画面に表示されます。
ボイドテスト()
{
int i = 5;
cout <<私;
}
プレ>
|
ボイドテスト()
{
int i = 5;
cout <<私;
}
主要()
{
int i = 7;
cout <<私;
テスト();
}
プレ>
|
#include <iostream>
名前空間 std を使用します。
int i;
ボイドテスト()
{
i = 2;
}
主要()
{
テスト();
cout <<私;
}
プレ>
|
表>