大域変数と局所変数の違いは、変数が参照できる範囲(スコープ)によって決まります。疑似言語を使って説明します。
大域変数
- 定義: プログラム全体で参照できる変数です。通常、プログラムの冒頭やメインのスコープで定義されます。
- スコープ: プログラムのどこからでもアクセスできます。
例:
# 大域変数の定義
大域変数 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は定義されていない
違いのまとめ
- 大域変数: プログラム全体でアクセスできる。
- 局所変数: 定義された関数やブロック内でのみアクセスできる。
このように、変数がどこで定義されるかによって、その変数がアクセスできる範囲が変わります。
コメント