この章ではグローバル変数とローカル変数について説明します。
詳しい説明は例の後で行います。
では例をみてみましょう。
グローバル変数とは関数の外で宣言された変数のことを言います。
この例で言いますと以下の箇所です。
int a=2
これまではmain関数の中で変数を使用してきましたが、こののように関数の外で宣言をするとグローバル変数になります。
グローバル変数は以下の通りどの関数の中でも使用することが出来ます。 ローカル変数とは関数の中で宣言された変数のことを言います。 ローカル変数は宣言をした関数の中でしか使用することが出来ませんので、複数の関数で同じ変数名を使用しても問題ありません。
つまり、関数の中だけが有効範囲なので、他の関数内で同じ変数名を作成してもお互い別の変数になるという訳です。
この例でいいますとmain関数とtashizan関数の中のローカル変数は同じ名前の変数名を付けても問題ありません。
例えば以下の例のようにmain関数とa関数の中でnumber変数を使用していますが、これらはお互いに影響を受けることはありません。
つまり、同じ変数名でも全く違う変数です。 ではもっと理解を深めるために次の例を見てみましょう。 まず初めにグローバル変数とローカル変数の確認から始めます。
関数の外側で宣言している
int a=23;
int b=25;
はグローバル変数です。
function1関数の中で宣言している変数はローカル変数です。
main関数の中で宣言している変数はローカル変数です。 次は変数の寿命について学習します。 関数の外でグローバル変数としてを宣言していますが、グローバル変数はプログラムが実行されてから終了するまで値を記憶しています。
functionは4つありますが、1回実行される度にグローバル変数はにより1が足されます。 後ほど学習しますがローカル変数はが1回実行される度にクリアされるので値を保持することができません。
次は「static」について説明します。
static int a=0;
関数内でstaticを付けないと、ただのローカル変数になってしまいますがstaticを付けることでグローバル変数と同じ機能を持つことが出来ます。
つまり、プログラムが実行されてから終了するまで値を記憶させておくことが出来ます。
このstaticが付いた変数を静的変数と言います。
functionは4つありますが、1回実行される度に静的変数はにより1が足されます。 これはグローバル変数の挙動とまったく同じです。
次はローカル変数について説明します。
function関数内で宣言されているはローカル変数です。
ローカル変数は関数が実行される度にデータがクリアにされるので情報を保持することはできません。
functionは4つありますが、を1回実行するたびにが実行されて、で1を足されるので、いつまでも1のままです。
結果は以下の通りです。
カテゴリー