Declarações de matriz
Uma "declaração de array" matriz de nomes e especifica o tipo de seus elementos.Ele também pode definir o número de elementos na matriz.Uma variável com tipo de array é considerada um ponteiro para o tipo de elementos de matriz.
Sintaxe
declaration:
especificadores de declaração init-Declarador-list opt**;**Init-Declarador-list:
Declarador de initInit-Declarador-list**,** Declarador de init
Declarador de init:
DeclaradorDeclarador = inicializador
declarator:
ponteiro optDeclarador de directDeclarador de Direct:
Declarador de Direct expressão de constante opt
Porque expressão de constante é opcional, a sintaxe apresenta duas formas:
O primeiro formulário define uma variável de matriz.O expressão de constante argumento dentro dos colchetes Especifica o número de elementos na matriz.O expressão de constante, se presente, deve ter tipo integral e um valor maior que zero.Cada elemento tem o tipo de dado por especificador de tipo, que pode ser qualquer tipo exceto void.Um elemento de matriz não pode ser um tipo de função.
O segundo formulário declara uma variável que foi definida em outro lugar.Ele omite o expressão de constante argumento em colchetes, mas não os colchetes.Você pode usar este formulário se você anteriormente tiver inicializado o array, declarado-lo como um parâmetro, ou declarado-la como uma referência a uma matriz explicitamente definido em outro lugar no programa.
Em ambos os formulários, Declarador de direct nomes de variável e podem modificar o tipo da variável.Os colchetes ([]) seguintes direta-Declarador modificar o Declarador de um tipo de matriz.
Qualificadores de tipo podem aparecer na declaração de um objeto do tipo de matriz, mas os qualificadores aplicam os elementos em vez do próprio array.
Você pode declarar uma matriz de matrizes (uma matriz "multidimensional"), seguindo o Declarador de matriz com uma lista de expressões de constantes entre colchetes neste formulário:
type-specifier declarator [constant-expression] [constant-expression] ...
Cada expressão de constante entre colchetes, define o número de elementos em uma determinada dimensão: arrays bidimensionais tem duas expressões entre colchetes, arrays tridimensionais tem três e assim por diante.Você pode omitir a primeira expressão constante, se você tiver inicializado o array, declarado-lo como um parâmetro, ou declarado-la como uma referência a uma matriz explicitamente definido em outro lugar no programa.
Você pode definir matrizes de ponteiros para vários tipos de objetos usando o declaradores complexos, conforme descrito em Interpretando mais complexos declaradores.
Arrays são armazenados por linha.Por exemplo, a seguinte matriz consiste em duas linhas com três colunas:
char A[2][3];
As três colunas da primeira linha são armazenadas em primeiro lugar, seguido das três colunas da segunda linha.Isso significa que o último subscrito varia mais rapidamente.
Para se referir a um elemento individual de uma matriz, use uma expressão de Subscrita, conforme descrito em Operadores de sufixo.
Exemplos
Estes exemplos ilustram as declarações de matriz:
float matrix[10][15];
A matriz bidimensional denominada matrix tem 150 elementos, cada um possuindo float tipo.
struct {
float x, y;
} complex[100];
Esta é uma declaração de uma matriz de estruturas.Essa matriz tem 100 elementos; cada elemento é uma estrutura que contém dois membros.
extern char *name[];
Esta instrução declara o tipo e o nome de uma matriz de ponteiros para char.A definição real name ocorre em outro lugar.
Específicos do Microsoft
O tipo de inteiro necessário para manter o tamanho máximo de uma matriz é o tamanho da size_t.Definido no arquivo de cabeçalho STDDEF.H, size_t é um unsigned int com o intervalo 0x00000000 para 0x7CFFFFFF.
Específicos do Microsoft final