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:
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]);
}