法大奥山研究室

 previous  contents

3. 宣言(Declarations)


 「宣言」とは識別子の解釈,属性を指定するもので,必ずセミコロン ; で閉じます。Example 2.1 で見た宣言

const int a = 0;
register int m = 12;
int n = 65;

では,変数 amn の属性を指定しています。キーワード(予約語)const はデータの扱いを読み込み専用(read-only)とする「型修飾子」,int は扱うデータの種類が整数(integer)であることを意味する「型指定子」,register はデータの記憶域領域を CPU のレジスタにするようコンパイラに求める「記憶域クラス指定子」です(*)。また,識別子 am などを「宣言子」といい,= の右辺側を「初期化子」と言います。このように,宣言は次から構成されています。

これらの内,型指定子は必須です。[C99, 6.7.2, 2] (また,型指定子にタグ,列挙体メンバが含まれない場合には宣言子が必要ですが,これについては後程再述します。)

* register は元来,CPUのレジスタへの割り当てを意味しますが,仕様(C99)では「可能な限り速くアクセスすることを要求」となっており,実際の処理は処理系に任せています。[C99, 6.7.1, 4]


 previous  contents