Vetores

Um vetor é uma estrutura de dados homogênea que possibilita o armazenamento de um conjunto de valores de forma contígua (sequencial) na memória. Um detalhe importante acerca do vetor é o fato de que todos os valores devem possuir o mesmo tipo de dado, ou seja, um vetor deve conter apenas números inteiros ou apenas pontos flutuantes. Por isso, é chamado de estrutura homogênea.

💡 Conceitos fundamentais

Um vetor pode ser representado visualmente da seguinte forma:

Representação gráfica de um vetor.

Cada elemento do vetor é armazenado em um espaço de memória exclusivo. Para navergamos pelos valores de um vetor, usaremos a posição (ou índice). Na linguagem C, esse indicador sempre começa a ser contado a partir do 0. Portanto, num vetor de 5 elementos, os índices válidos vão de 0 a 4.

👨🏽‍💻 Do conceito ao código

A declaração de um vetor segue a seguinte abordagem:

tipo nomedovetor[tamanho];

Logo, para declarmos um vetor de inteiros com 5 elementos, usamos a seguinte sintaxe:

int numeros[5];

No exemplo acima, apenas reservamos posições de memória para armazenarmos cinco números inteiros. Há alguns detalhes importantes que precisamos nos atentar nesse ponto:

  • A variável numeros é uma especial. Ela não armazenará algum valor numero de nosso interesse (por enquanto), mas sim o endereço da posição de memória que armazena o primeiro item do vetor. Esse conceito pode ser um pouco complexo por enquanto, mas veremos com mais detalhes em AED2.
  • Quando declaramos um vetor, reservamos uma região de memória para ele, mas os valores (lixos de memória) que estavam lá continuam. Por isso, é interessante que inicializemos o vetor.

Atribuindo valores

Podemos atribuir valores a um vetor desde a sua declaração, como no exemplo abaixo:

int valores[5] = {0,0,0,0,0};

Ou, também, atribuir ou alterar esses valores ao longo da execução do programa. Nesse caso, precisamos manipular posições específicas do vetor. Para manipular uma posição específica, precisamos informar entre os colchetes [] o índice da posição desejada.

Para alterar a primeira posição, por exemplo, usamos o índice 0:

int main(void){
    int valores[5];
    /* Inserindo manualmente os valores */
    valores[0] = 10;
    valores[1] = 20;
}

Imprimindo um vetor

Para imprimir um único elemento do vetor, usamos a seguinte expressão:

printf("%d", nomedovetor[posicao]);

Da mesma forma, para imprimirmos todos os itens de um vetor, podemos usar um laço de repetição:

for(int i = 0; i < tamanho; i++){
    printf("%d\n", nomedovetor[posicao]);
}