変数 (プログラミング)
宣言した変数に対して実際にデータを関連付けることを代入(だいにゅう、英: substitution / assignment)という。
プログラミング言語によっては、変数の宣言と代入を一度にまとめて行なうことができる。 変数を宣言せずにいきなり代入できる言語もあるが、これは宣言されていない変数に対して処理系が自動的に宣言を補ってくれていると考えることができる。 ある変数に対して初めて行う代入は、特に初期化(しょきか、英: initialization)という。
多くの手続き型言語では、変数は複数回代入をすることができる。すでに代入を行なった変数に改めて代入をすると、その変数とそれまでのデータとの関連はなくなり、新しいデータと改めて関連付けされる。 関数型言語では、一つの変数には一度しか代入できないものも多い。このような言語では、宣言と初期化を一緒に行なうのが一般的であり、また、一つの変数が常に同じ値を持つ(値が変化しない)ことが保証される(参照透過性)。関数型言語では特にこの再代入を許可しない関連付けのことを、束縛 (binding) と呼ぶ。