Compartilhar via


Declaradores e declarações de variável

O restante desta seção descreve o formulário e o significado das declarações para tipos de variáveis resumidos nesta lista. Em particular, as seções restantes 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 por uma coleção de elementos com o mesmo tipo
Ponteiros Variáveis que apontam para outras variáveis e contêm locais variáveis (na forma de endereços) em vez de valores
Variáveis de enumeração Variáveis simples com tipo integral que contêm um valor de um conjunto de constantes inteiros nomeadas
Estruturas Variáveis compostas por uma coleção de valores que podem ter tipos diferentes
Uniões Variáveis compostas por 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 inserido no programa. Ele pode incluir modificadores como * (ponteiro para) e qualquer uma das palavras-chave de convenção de chamada da Microsoft.

Específico da Microsoft

Neste declarador,

__declspec(thread) char *var;

char é o especificador de tipo e __declspec(thread)* 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 matriz e ponteiro descritas posteriormente nesta seção.

Sintaxe

declarator:
pointer optardirect-declarator

direct-declarator:
identifier
( declarator )
direct-declarator [ constant-expression optar]
direct-declarator ( parameter-type-list )
direct-declarator ( identifier-list optar)

pointer:
* type-qualifier-list optar
* type-qualifier-list optarpointer

type-qualifier-list:
type-qualifier
type-qualifier-list type-qualifier

Observação

Consulte a sintaxe para declaration obter uma visão geral de declarações ou resumo da sintaxe da linguagem C para a sintaxe que faz referência a um declarator.

Quando um declarador consiste em um identificador não modificado, o item que está sendo declarado tem um tipo 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 os parênteses seguirem o identificador, 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 Interpretando 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 endereçado por um tipo de ponteiro ou o tipo de retorno de uma função.

As declarações de matriz e ponteiro são discutidas com mais detalhes mais adiante nesta seção. Os exemplos a seguir ilustram algumas formas 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

Específico da Microsoft

O compilador do Microsoft C não limita o número de declaradores que podem modificar um tipo aritmético, estrutura ou união. O número é limitado apenas pela memória disponível.

Fim da seção específica da Microsoft

Consulte também

Declarações e tipos