Os princípos da definição e manipulação de arranjos em C foram descritos na Seção 2.1.3. Assim como para variáveis de tipos básicos, os elementos de um arranjo podem ser também inicializados durante a declaração da variável. Neste caso, os valores de cada um dos elementos são delimitados por chaves. Por exemplo,
main() { /* declara um arranjo de cinco inteiros */ int elem[5] = {0,0,0,0,0}; ... }
O índice de um arranjo pode ser qualquer expressão inteira, incluindo-se variáveis e constantes inteiras. C não verifica se o valor do índice está dentro da faixa declarada -- é responsabilidade do programador garantir que o acesso esteja dentro dos limites de um arranjo.
Arranjos podem ser multidimensionais. Por exemplo, um arranjo bidimensional pode ser declarado, inicializado e acessado como em
main() { /* declara um arranjo de duas linhas com tres inteiros por linha */ int elem[2][3] = { {0,0,0}, {0,0,0}}; int i, j; /* modifica conteudo do arranjo */ for (i=0; i<2; ++i) for (j=0; j<3; ++j) elem[i][j] = i*3 + j; }
Em C, um arranjo bidimensional é na verdade um arranjo unidimensional
onde cada elemento é um arranjo. Por este motivo, dois operadores de
indexação são utilizados ao invés da forma [i,j]
. Elementos são
armazenados por linha.
Em geral, arranjos com muitas dimensões não são utilizados em C visto que ocupam muito espaço e o acesso a seus elementos não ocorre de forma eficiente.