Partilhar via


C declaradores abstratos

Um Declarador abstrata é um Declarador sem um identificador, que consiste em um ou mais ponteiro, matriz ou modificadores de função.O modificador de ponteiro (*) sempre antecede o identificador em um Declarador; array ([]) e a função ( () ) modificadores siga o identificador.Sabendo disso, você pode determinar onde o identificador seria aparecem em um Declarador abstrata e interpretar o Declarador de maneira adequada.Consulte Interpretando mais complexos declaradores para obter informações adicionais e exemplos de declaradores complexos.Geralmente, typedef pode ser usado para simplificar a declaradores.Consulte Typedef declarações.

Declaradores abstratas podem ser complexas.Parênteses em uma complexa Declarador abstrata especificam uma interpretação específica, como fazem para os complexos declaradores em declarações.

Estes exemplos ilustram declaradores abstratos:

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, ... )
ObservaçãoObservação

O Declarador abstrato que consiste em um conjunto de parênteses vazios, (), não é permitida porque ele é ambíguo.É impossível determinar se o identificador implícito pertence dentro dos parênteses (caso em que é um tipo não modificado) ou antes dos parênteses (caso em que ele é um tipo de função).

Consulte também

Conceitos

Declaradores e declarações de variável