Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un dichiaratore astratto è un dichiaratore senza identificatore, essere costituito da uno o più puntatore, la matrice, o modificatori di funzione.Il modificatore del puntatore (*) è sempre preceduto l'identificatore in un dichiaratore; matrice ([]) e l'esecuzione di () i modificatori seguono l'identificatore.Conoscendo scopo, è possibile determinare se l'identificatore apparirebbe in un dichiaratore astratto e verrebbe interpretato dal dichiaratore di conseguenza.vedere Interpretazione dei dichiaratori più complessi per ulteriori informazioni ed esempi di dichiaratori complessi.Generale typedef può essere utilizzato per semplificare i dichiaratori.vedere Dichiarazioni typedef.
I dichiaratori astratti possono risultare complessa.Le parentesi in un dichiaratore astratto complesso specificano un'interpretazione particolare, esattamente così come accade per i dichiaratori complessi nelle dichiarazioni.
In questi esempi illustrati i dichiaratori astratti:
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, ... )
[!NOTA]
Il dichiaratore astratto costituito da un set di parentesi vuote, (), non è consentito perché è ambiguo.È impossibile per determinare se l'identificatore implicito appartiene all'interno delle parentesi (in questo caso è un tipo non modificati o prima delle parentesi (in questo caso è un tipo di funzione).