ローカル変数(局所変数、英: local variable)とは、プログラムの一部分でしか利用できない変数のことである。一般的にグローバル変数(大域変数)と対比される。ローカル変数の定義はプログラミング言語によって異なるので、詳細な説明は言語別の項に譲る。 C言語およびC++のローカル変数は、関数内の同じ「ブロック」という領域内からのみ参照可能な変数である。C99よりも前の規格ではブロックの先頭部分でのみ定義可能だったが、C99からはC++同様に任意の位置で定義可能である。 ある関数fにおけるローカル変数aのスコープ (scope) すなわち可視性は、その関数f内において、その変数aが宣言された場所から、その変数aが定義されたブロックを抜けるまでである。スコープ外からは参照することができない。ローカル変数aを定義したブロック内で別の関数gを呼び出すと、関数gからはその変数aが見えなくなるが