Os arrays possuem uma relação direta com ponteiros na linguagem C. Na prática, o uso de arrays está profundamente ligado ao conceito de endereços de memória e aritmética de ponteiros.

Compreender essa relação é fundamental para entender como os dados são organizados e acessados na memória.

4.1 Arrays como Endereços de Memória

O nome de um array representa o endereço do seu primeiro elemento.

Considere o exemplo:

int vetor[3] = {10, 20, 30};

Nesse caso:

4.2 Acesso aos Elementos

O acesso tradicional aos elementos de um array é feito utilizando colchetes:

vetor[0] = 10;
vetor[1] = 20;
vetor[2] = 30;

No entanto, essa forma é apenas uma abstração.

Internamente, esse acesso é equivalente ao uso de ponteiros:

*(vetor + 0) = 10;
*(vetor + 1) = 20;
*(vetor + 2) = 30;

Ou seja:

vetor[i] é equivalente a *(vetor + i)


4.3 Interpretação da Aritmética

Na expressão: