プログラミングにおける変数(へんすう、英: variable)とは、高水準言語のプログラムのソースコードにおいて、扱うデータを読み書きする記憶域 (storage) のことであり、固有の名前(識別子)によって識別される。変数を用いることで、データを一定期間記憶し必要なときに利用することができる。高水準言語において、変数は記憶装置(メモリ)を抽象化する役割を果たす。 一人一人の人間が異なる名前によって区別されるように、変数も個々の名前によって区別される。これにより、プログラム上で複数のデータを容易に識別・管理することができる。変数の識別子 (identifier) のことを変数名 (variable name) という。一般に、変数が表すデータをその変数の値(あたい、英: value)という。