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:
pointeropt direct-declarator

direct-declarator:
identifier
( declarator )
direct-declarator [ constant-expressionopt ]
direct-declarator ( parameter-type-list )
direct-declarator ( identifier-listopt )

pointer:
* type-qualifier-listopt
* type-qualifier-listopt 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

Confira também

Declarações e tipos