C Declarators abstrakcyjny
Abstrakcyjne; niewłaściwy deklarator jest; niewłaściwy deklarator bez identyfikator, składający się z jednego lub więcej wskaźnik, tablicy lub funkcji modyfikatorów.Modyfikator wskaźnik (*) zawsze poprzedza identyfikator w; niewłaściwy deklarator; Tablica ([]) i funkcji ( () ) Modyfikatory wykonaj identyfikator.Wiedząc, to, można określić, gdzie identyfikator czy pojawiają się w abstrakcyjne; niewłaściwy deklarator i odpowiednio zinterpretować; niewłaściwy deklarator.Zobacz Interpretacji bardziej Declarators złożonych dodatkowe informacje i przykłady złożonych declarators.Ogólnie typedef może służyć do uproszczenia declarators.Zobacz deklaracje Typedef.
Abstract declarators mogą być złożone.Nawiasy w złożonych; niewłaściwy deklarator abstrakcyjna określić szczególne interpretacji, tak samo jak dla złożonych declarators w deklaracjach.
Te przykłady ilustrują abstrakcyjna declarators:
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, ... )
[!UWAGA]
Abstrakcyjne; niewłaściwy deklarator składające się z zestawu pustych nawiasów, (), nie jest dozwolone, ponieważ jest niejednoznaczna.Jest niemożliwe ustalić, czy identyfikator dorozumianych należy wewnątrz nawiasów (w tym przypadku jest to niezmodyfikowany typ) lub przed nawiasami (w tym przypadku jest typ funkcji).