このセクションの残りの部分では、この一覧に要約されている変数型の宣言の形式と意味について説明します。 特に、残りのセクションでは、次の宣言方法について説明します。
| 変数の型 | 説明 |
|---|---|
| 単純変数 | 整数型または浮動小数点型の単一値変数 |
| 配列 | 同じ型の要素のコレクションで構成される変数 |
| ポインター | 他の変数を指し、値の代わりに (アドレスの形式で) 変数の場所を含む変数 |
| 列挙変数 | 名前付き整数定数のセットから 1 つの値を保持する整数型の単純変数 |
| 構造体 | 異なる型を持つ可能性がある値のコレクションで構成される変数 |
| 共用体 | 同じ記憶域スペースを占有する異なる型の複数の値で構成される変数 |
宣言子は、プログラムに導入する名前を指定する宣言の一部です。
* (ポインター) や Microsoft の呼び出し規約キーワードなどの修飾子を含めることができます。
Microsoft 固有の仕様
この宣言子では、
__declspec(thread) char *var;
char は型指定子、 __declspec(thread) 、 * は修飾子、 var は識別子名です。
Microsoft 固有の仕様はここまで
宣言子を使用して、値の配列、値へのポインター、および指定した型の値を返す関数を宣言します。 宣言子は、このセクションで後述する配列およびポインター宣言に表示されます。
構文
declarator:
pointer
選ぶdirect-declarator
direct-declarator:
identifier
(
declarator
)
direct-declarator
[
constant-expression
選ぶ]
direct-declarator
(
parameter-type-list
)
direct-declarator
(
identifier-list
選ぶ)
pointer:
*
type-qualifier-list
選ぶ
*
type-qualifier-list
選ぶpointer
type-qualifier-list:
type-qualifier
type-qualifier-list
type-qualifier
注
declaratorを参照する構文については、「宣言の概要」または「C 言語構文の概要」のdeclarationの構文を参照してください。
宣言子が変更されていない識別子で構成されている場合、宣言される項目は基本型を持ちます。 識別子の左側にアスタリスク (*) が表示される場合、型はポインター型に変更されます。 識別子の後に角かっこ ([ ]) が続く場合、型は配列型に変更されます。 かっこが識別子の後に続く場合、型は関数型に変更されます。 宣言内の優先順位の解釈の詳細については、「 より複雑な宣言子の解釈」を参照してください。
各宣言子は、少なくとも 1 つの識別子を宣言します。 宣言子には、完全な宣言にするには、型指定子を含める必要があります。 型指定子は、配列型の要素の型、ポインター型によってアドレス指定されたオブジェクトの型、または関数の戻り値の型を提供します。
配列 と ポインター の宣言については、このセクションの後半で詳しく説明します。 次の例は、いくつかの簡単な形式の宣言子を示しています。
int list[20]; // Declares an array of 20 int values named list
char *cp; // Declares a pointer to a char value
double func( void ); // Declares a function named func, with no
// arguments, that returns a double value
int *aptr[10]; // Declares an array of 10 pointers
Microsoft 固有の仕様
Microsoft C コンパイラでは、算術型、構造体型、または共用体型を変更できる宣言子の数は制限されません。 この数は、使用可能なメモリによってのみ制限されます。
Microsoft 固有の仕様はここまで