変数 (プログラミング)
変数はその変数に対して定められたソースコードの特定の範囲内からしか「見えない」。すなわち、その変数が使用可能な範囲が、その変数のスコープである。例えばC言語では、関数の中で定義した変数(仮引数およびローカル変数)はその関数の中でのみ使用できる。これにより、関数の外部から変数を使用されるのを防ぐことができる。また、スコープが異なれば、同じ名前の変数を定義することもできる。例えば関数f()の内部で定義されたxと、関数g()の内部で定義されたxは、それぞれ別々に領域が確保される。一般に、変数に限らず、なんらかの名前について「名前空間を区切るもの」が「スコープ」である。たとえば構造体のメンバ名は、構造体ごとに名前空間を持つ。
一つのスコープにおいて同じ名前を複数の違うものに使うことは、許されていないことが多い。あるいは許されている場合は、後から現れたものによって、そこから後では前のものは隠蔽(シャドウ)される (en:Variable shadowing) という規則の場合もある。