Declaradores e declarações de variável
O restante desta seção descreve o formato e o significado das declarações para os tipos de variável resumidos nesta lista. Em particular, as demais seções explicam como declarar:
Tipo de variável | Descrição |
---|---|
Variáveis simples | Variáveis de valor único com tipo integral ou de ponto flutuante |
matrizes | Variáveis compostas de uma coleção de elementos com o mesmo tipo |
Ponteiros | Variáveis que apontam para outras variáveis e contêm locais de variáveis (na forma de endereços) em vez de valores |
Variáveis de enumeração | Variáveis simples com tipo integral que mantêm um único valor de um conjunto de constantes de inteiro nomeadas |
Estruturas | Variáveis compostas de uma coleção de valores que podem ter tipos diferentes |
Uniões | Variáveis compostas de vários valores de tipos diferentes que ocupam o mesmo espaço de armazenamento |
Um declarador é a parte de uma declaração que especifica o nome a ser introduzido no programa. Pode incluir modificadores como *
(pointer-to) e qualquer uma das palavras-chave de convenção de chamada da Microsoft.
Seção específica da Microsoft
Neste declarador,
__declspec(thread) char *var;
char
é o especificador de tipo, __declspec(thread)
e *
são os modificadores, e var
é o nome do identificador.
Fim da seção específica da Microsoft
Você usa declaradores para declarar matrizes de valores, ponteiros para valores e funções que retornam valores de um tipo especificado. Os declaradores aparecem nas declarações de matrizes e de ponteiros descritas posteriormente nesta seção.
Sintaxe
declarator
:
pointer
opt direct-declarator
direct-declarator
:
identifier
(
declarator
)
direct-declarator
[
constant-expression
opt ]
direct-declarator
(
parameter-type-list
)
direct-declarator
(
identifier-list
opt )
pointer
:
*
type-qualifier-list
opt
*
type-qualifier-list
opt pointer
type-qualifier-list
:
type-qualifier
type-qualifier-list
type-qualifier
Observação
Consulte a sintaxe de declaration
na Visão geral de declarações ou em Resumo da sintaxe da linguagem C correspondente à sintaxe que faz referência a declarator
.
Quando um declarador consiste em um identificador não modificado, o item que está sendo declarado tem um tipo de base. Se um asterisco (*
) aparecer à esquerda de um identificador, o tipo será modificado para um tipo de ponteiro. Se o identificador for seguido por colchetes ([ ]
), o tipo será modificado para um tipo de matriz. Se o identificador for seguido por parênteses, o tipo será modificado para um tipo de função. Para obter mais informações sobre como interpretar a precedência em declarações, consulte Interpretação de declaradores mais complexos.
Cada declarador declara pelo menos um identificador. Um declarador deve incluir um especificador de tipo para ser uma declaração completa. O especificador de tipo fornece o tipo dos elementos de um tipo de matriz, o tipo de objeto tratado por um tipo ponteiro ou o tipo de retorno de uma função.
As declarações de matrizes e de ponteiros são discutidas em mais detalhes posteriormente nesta seção. Os exemplos a seguir ilustram alguns formatos simples de declaradores:
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
Seção específica da Microsoft
O compilador de C da Microsoft não limita o número de declaradores que podem modificar um tipo aritmético, de estrutura ou de união. O número é limitado somente pela memória disponível.
Fim da seção específica da Microsoft