関数やサブルーチン、メソッド、ブロックなどの内側で宣言され、それぞれの範囲内でだけ使用できる変数のことです。
詳細はプログラミング言語によって異なりますが、値を読み書きできるソースコード上の範囲を限定的にした変数ということで共通しています。
また、プログラミング言語によって呼び名が異なることがあります。たとえば、C言語の標準規格にはローカル変数という名前は登場せず、「自動記憶域期間をもつ変数」のように表現されます(static指定子を付加して宣言された静的変数は除く)。しかし、C言語においても、解説記事や会話の中では、ローカル変数という呼び名は広く定着しています。
値を読み書きできるソースコード上の範囲が限定されていることと、その変数の値がメインメモリ上に存在している期間とは別の話です。通常のローカル変数では、実行している箇所が、ローカル変数の値を読み書きできる範囲を抜けると、そのローカル変数は存在しなくなったように扱われ、メインメモリ上にあった値は使用できなくなります。
しかし、たとえばC言語では、ローカル変数を宣言するときに static指定子を付加すると、値を読み書きできるソースコードの範囲は変わりませんが、メインメモリ上に置かれた値は、プログラムが実行されているあいだ維持されるようになります(C言語編第24章)。
なお、ローカル(局所的)であることに対比して、グローバル(大域的)な変数があり、こちらはグローバル変数と呼ばれます。グローバル変数は、ブロックに制限されることなく、プログラム全体で使用できる変数です。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |