=== 4. 変数 ==========================
変数とは、名前がつけられているメモリ上の領域のことで、変数につけられた名前のことを変数名と呼ぶ。オブジェクトの参照する式を左辺値という。変数は、「型」と「記憶クラス」の2つの属性を持ってる。記憶クラスは、その変数が存在するメモリがどれだけの寿命を持っているかを示します。
記憶クラス
自動的(auto)な記憶クラスを持つ変数とは、ブロックの中で定義され、そのブロックが終了すると値を失う変数のこと。
静的staticな記憶クラスを持つ変数とは、プログラムの起動に先立って一回だけ初期化され、プログラムの動作中に値を失うことのない変数。
記憶クラスを指定するキーワードは、次の5種類
typedefexternstaticregisterauto
typedefは、新しい型名を定義するための指定子
externは、外部変数・外部関数を指定する記憶クラス指定子
staticは、外部変数や外部関数ではないことを指定する記憶クラス指定子
registerは、頻繁にアクセスされる変数であることを指定する記憶クラス指定子
autoは、変数が自動的な記憶クラスを持つことを指定する記憶クラス指定子で、ブロックの変数定義でのみ使用される。autoは省略できるので、通常はC言語のプログラムにautoというキーワードが登場することはない