Vetor Linguagem C
Como usar vetores em C: um guia prático
Vetores em C são apenas arrays unidimensionais alocados na memória. Vou explicar como funcionam na prática, não só a teoria. Para declarar um vetor em C, você usa a sintaxe tipo nome[tamanho]. Por exemplo, para criar um vetor de 10 inteiros: Isso reserva espaço para 10 posições, indexadas de 0 a 9. Acessar fora desses limites é um erro comum que trava programas ou causa comportamento imprevisível. C não faz verificação automática de limites — isso é responsabilidade do programador.
Para preencher o vetor, você pode usar um loop for:
for(int i = 0; i 10; i++) {
numeros[i] = i * 2;
}
Aqui, cada posição recebe o dobro do índice. Simples, direto. Vetores podem ser inicializados na declaração: Se você passar menos valores que o tamanho, os restantes ficam zero. Se passar mais, dá erro de compilação.

Para ler dados do usuário, use o scanf com o operador & para cada posição:
scanf("%d", &numeros[i]);
Cuidado: scanf não valida se o índice está dentro dos limites. Se o usuário digitar algo errado ou o loop tiver bug, você pode sobrescrever memória adjacente. Quando passa um vetor para uma função, passa-se o endereço do primeiro elemento, não uma cópia do array inteiro. Isso significa que qualquer alteração na função afeta o vetor original. Por isso, sempre passe o tamanho junto como parâmetro. C não armazena o tamanho do vetor no ponteiro.
Certa vez estava trabalhando em um programa que processava imagens em tons de cinza (valores de 0 a 255). O vetor tinha 512 elementos, mas eu estava usando int para armazená-los. O problema era que a lógica de processamento exigia cálculos intermediários que podiam exceder 255, mas o array inteiro ficava em memória suficiente para os valores. Quando mudei para unsigned char, o programa ficou mais rápido e usou menos memória. Erros de tipo em vetores pequenos passam despercebidos até causar bugs estranhos. Um erro frequente é confundir a inicialização de vetores com a atribuição subsequente. Você pode inicializar na declaração, mas não pode fazer vet = {1,2,3} depois. Para atribuir valores depois da declaração, use loops ou a função memcpy. Outro problema é a diferença entre vetores estáticos e dinâmicos. Vetores estáticos são alocados na pilha e têm tamanho fixo no momento da compilação. Para tamanhos variáveis, use alocação dinâmica com malloc:

int *vetor = malloc(tamanho * sizeof(int));
Não esqueça de liberar a memória com free() quando terminar de usar, senão vaza memória. Sempre verifique índices antes de acessar. Use macros ou constantes para definir tamanhos e evite hardcodar números no código. Para vetores grandes, considere alocar na heap com malloc para evitar estouro da pilha. Vetores em C são poderosos mas exigem cuidado. Se você está começando, pratique com vetores pequenos antes de partir para estruturas mais complexas como matrizes ou vetores dinâmicos.
Galeria
-
Vetores Em Linguagem C - RETOEDU -
Universo Técnico: Linguagem C - Vetores -
Vetores Na Linguagem C | PDF