大域変数と局所変数の違い

プログラミング

大域変数と局所変数の違いは、変数が参照できる範囲(スコープ)によって決まります。疑似言語を使って説明します。

大域変数

  • 定義: プログラム全体で参照できる変数です。通常、プログラムの冒頭やメインのスコープで定義されます。
  • スコープ: プログラムのどこからでもアクセスできます。

例:

# 大域変数の定義
大域変数 x = 10

関数A():
    # 関数内でも大域変数xにアクセスできる
    印刷(x)

関数B():
    # 関数内でも大域変数xにアクセスできる
    x = x + 5
    印刷(x)

関数A()  # 出力: 10
関数B()  # 出力: 15
印刷(x)  # 出力: 15

局所変数

  • 定義: 関数やブロック内でのみ使用できる変数です。関数やブロックが終了すると、局所変数も消えます。
  • スコープ: 変数が定義された関数やブロック内でのみ有効です。

例:

関数A():
    局所変数 y = 20
    印刷(y)

関数B():
    局所変数 y = 5
    y = y * 2
    印刷(y)

関数A()  # 出力: 20
関数B()  # 出力: 10
# 関数の外では局所変数yにアクセスできない
印刷(y)  # エラー: yは定義されていない

違いのまとめ

  • 大域変数: プログラム全体でアクセスできる。
  • 局所変数: 定義された関数やブロック内でのみアクセスできる。

このように、変数がどこで定義されるかによって、その変数がアクセスできる範囲が変わります。

コメント

タイトルとURLをコピーしました