Em C, os vetores são armazenados na memória de forma sequencial e contígua. Isso significa que, ao declarar um vetor, o programa reserva uma sequência de posições de memória lado a lado, suficiente para armazenar todos os seus elementos.
Por exemplo, considere a declaração:
int vetor[5];
Nesse caso, o programa precisa reservar espaço para armazenar 5 valores inteiros. Supondo que cada int ocupe 4 bytes, esse vetor exigirá, ao todo, 20 bytes de memória.
A ideia pode ser representada de forma simplificada assim:
| Índice | Valor armazenado | Espaço na memória |
|---|---|---|
| 0 | vetor[0] |
4 bytes |
| 1 | vetor[1] |
4 bytes |
| 2 | vetor[2] |
4 bytes |
| 3 | vetor[3] |
4 bytes |
| 4 | vetor[4] |
4 bytes |
Embora, no código, trabalhemos com índices como 0, 1, 2, 3 e 4, internamente o que existe é uma sequência de regiões consecutivas de memória.
As figuras originais da aula ajudam justamente a visualizar essa ideia: cada posição do vetor corresponde a um bloco de memória reservado para armazenar um elemento do tipo definido.
Quando o vetor é declarado, o programa precisa encontrar uma região contínua de memória que comporte todos os seus elementos. Em outras palavras, não basta haver memória livre “espalhada”; é necessário existir um bloco contínuo suficientemente grande para armazenar o vetor inteiro.


Esse comportamento é importante porque permite acesso eficiente aos elementos da estrutura. Como os dados estão armazenados em sequência, a linguagem consegue localizar cada posição a partir do endereço inicial do vetor e do índice desejado.
É justamente essa organização que faz com que o acesso por índice seja simples e rápido.
Quando usamos o identificador do vetor no código, normalmente ele está associado ao endereço da primeira posição da estrutura na memória. Ou seja, o nome do vetor representa, de forma simplificada, o ponto onde essa sequência de elementos começa.
Mais adiante, quando estudarmos ponteiros e manipulação de memória, essa relação ficará mais clara. Neste momento, o importante é compreender a ideia geral: o vetor corresponde a uma sequência contínua de posições, e cada índice aponta para um elemento dentro dessa sequência.
Entender que o vetor ocupa posições consecutivas de memória ajuda a compreender vários comportamentos da linguagem C, por exemplo: