法大奥山研究室

 previous  contents

17. 型修飾子(Type Qualifiers)


 宣言には型指定子宣言子(但し,タグ或いは列挙体メンバがある場合を除く)が必須です。必須ではないものの,データの扱いに特定の属性を付与するもののとして「型修飾子」があります。型修飾子として使用されるキーワード(予約語)は,constvolatile,そして restrict の3つです。

 型修飾子xxx が付された型をxxx 修飾型(xxx -qualified type)と呼びます。例えば,

const int c = 1;

といった場合,オブジェクト c は const修飾型(const-qualified type)であり,その型は const int です。また,

const int m[8];

の場合,const修飾型 const int の配列(各要素が const修飾型)であり,配列型(式)m 自体は const修飾型ではありません。[C99, 6.7.3, 8] ポインタの場合,例えば,

const int *p;
int *const cp;

のポインタ p は const修飾型 const int へのポインタでその型は const int * ですが,ポインタ cp は非修飾型 int へのポインタであり,ポインタ cp 自体が const修飾型となります。[C99, 6.7.5.1]


 previous  contents