C の変数

変数の中身はどこにあるか

変数の中身(データ)はメモリに収められている。

「変数」って何

変数は中身が収められているメモリ領域のアドレスに付けられた名前である。

変数を構成するもの

変数には下の三つの要素が必要。

  • 識別子
  • アドレス
  • データ型

識別子

変数名のようにプログラムで付けられた任意の名前を識別子(identifier)と呼ぶ。
関数名も識別子の一つ。

アドレス

変数のアドレスはそのデータが収めれらたメモリ領域の開始位置を指す。

データ型

データには長さがある。

データのメモリ上の終了位置を判断するにはアドレス(開始位置)からのデータ領域の相対的な距離がわかっていないといけない。

データ型を明示することでデータの長さの情報を変数に付与することができる。

宣言

変数に必要な三つの要素(識別子・アドレス・データ型)を同時に用意するために変数の宣言を行う。

変数の宣言は下記のように行う。

int a;

intはデータ型を表現している。 aは識別子を表現している。

これによってメモリ上に変数 a のための領域が用意される。

アドレスは処理系によって自動的に割り当てられる。

代入

変数への値の代入は下のように行う。

a = 8;

=によって変数のアドレスに値を入れている。

=の左側にはメモリのアドレスを指定する式以外を置くことはできない。