Module: サブルーチン: プロシージャと関数 - 1


Problem

8 /11


ローカル変数とグローバル変数

Theory Click to read/hide

ローカル変数とグローバル変数
多くの場合、サブルーチン内でのみ使用される追加の変数を使用する必要があります。このような変数はローカル (またはローカル) と呼ばれ、変数が作成されたサブルーチン内でのみ操作できます。
 
ローカル変数スコープは、その変数が宣言される中括弧で囲まれたブロックです。
C# のメイン プログラムもサブルーチンであるため、void Main() 内で宣言された変数はすべてローカル変数になります。他のサブルーチンは、他のサブルーチンのローカル変数について何も「認識」しません。

したがって、変数の有効範囲 (スコープ) を、それが本当に必要なサブルーチンのみに制限することができます。プログラミングでは、この技術はカプセル化と呼ばれます。 - 変数が外部から変更されないように隠します。

プログラム内の任意の場所 (サブルーチン内) で参照できる変数を宣言する必要がある場合、そのような変数はすべてのサブルーチンの外側で宣言されます (以下の表のプログラム 3 を参照)。
このような変数はグローバルと呼ばれます。

C# では、プログラムの開始時に、すべてのグローバル変数が自動的に 0 に設定されます (ブール変数の値は false になります)。

3 つのプログラムを分析します。 <本体>

Problem

高さ n の冠を持つクリスマス ツリーを出力する n パラメータを持つプロシージャを記述します。 メイン プログラムには、 の値の入力が含まれている必要があります。 n 変数と手続き呼び出し.< br />  
1) このプログラムでは、変数 i はローカルです。ローカル変数はサブルーチン内で宣言されます。 2) ここでは、メイン プログラムに変数 i (値 7) が存在する場合でも、値 5 の新しいローカル変数 i が作成されます。
このプログラムを実行すると、画面に値 75 が表示されます。
3) このプログラムにはグローバル変数 i があります。その値はサブルーチン内およびメインプログラム内で変更できます。
このプロシージャはグローバル変数 i を使用して動作し、新しい値 2 が割り当てられます。値 2 が表示されます。
静的 void テスト() {   int i = 5; Console.Write("i"); } 静的 void テスト() {   int i = 5;   Console.Write("i"); } 静的 void Main() { int i = 7;   Console.Write("i");  テスト(); } システムを使用する; クラス プログラム { int i; 静的 void テスト() {   i = 2; } 静的 void Main() { テスト(); Console.Write("i"); } }
<頭> <本体>
# 入力 出力
1 5 <プレ>     o    うーん  うおー  おおおお うおおおおおおおおお