キーワード (C言語)
auto は宣言したブロック内のみで有効。関数が終了すると消滅。記憶クラス指定子を省略した場合デフォルトでautoとなる。そのため実際上使用されていない。B言語のauto指定子との互換を意識したもの。C++にも存在するが、C++11で機能が変更されたので注意。
extern は他のモジュール内で定義されている名前を参照する際に使う。
static は関数内と関数外で意味が違う。関数内では静的変数の定義で、autoとは異なり関数が終了しても消滅せず、再び同じ関数を呼び出した場合は前回の値がそのまま残っている。関数外では可視性の制限で、static宣言した変数や関数は他のモジュールから参照できない。
register は変数の記憶領域をCPUのレジスタに割り当てる(必ずしも割り当てられるわけではない)。それ以外はautoと同じ。
C99以降では、long は2つ続けて long long とすることで、64ビット以上の精度をもつ1つの型を表す。C99で加わった_Bool型も一種の整数型として扱われ、またtrueやfalseはキーワードではなく、stdbool.hで定義されるマクロである。