共用方式為


C 抽象的宣告子

抽象的宣告是識別項,而宣告子包含一個或多個指標、 陣列或函式修飾詞。 指標修飾詞 (*) 永遠會在識別項之前在宣告子。 陣列 ([]) 和函式 ( () ) 修飾詞,請遵循識別項。 知道這一點之後,您可以決定位置識別項會出現在抽象的宣告子,並且適當地解譯宣告子。 請參閱多個解譯更複雜宣告取得其他資訊和複雜的多個宣告的範例。 一般typedef可以用來簡化多個宣告。 請參閱 Typedef 宣告

抽象的宣告子可以是複雜的。 在複雜的抽象宣告子中的括號會指定特定的解譯方式,就如同為複雜的宣告子宣告中。

這些範例所示抽象的宣告子:

int *         // The type name for a pointer to type int:

int *[3]      // An array of three pointers to int

int (*) [5]   // A pointer to an array of five int

int *()       // A function with no parameter specification
              // returning a pointer to int

// A pointer to a function taking no arguments and 
// returning an int
 
int (*) ( void )  

// An array of an unspecified number of constant pointers to 
// functions each with one parameter that has type unsigned int 
// and an unspecified number of other parameters returning an int 
 
int (*const []) ( unsigned int, ... )
注意事項注意事項

抽象的宣告子包含空括號內,一群 (),不允許,因為它是模稜兩可。很難判斷 (在這種情況是未經修改的型別) 在括號或括號 (在這種情況是函式型別) 之前,是否屬於隱含的識別項。

請參閱

概念

多個宣告和區域變數宣告