Vetores
Vetores também conhecidos como Arrays é uma estrutura de dados mais simples e mais usadas na programação.
Vetor é uma estrutura de dados homogênea que armazena vários valores do mesmo tipo e bem simples de iniciar, ele só precisa dos seguintes dados:
o Tipo de dado que será armazenado dentro do vetor.
nome do vetor
o número máximo de valores que podem ser colocados
Estrutura inicial básica de um vetor:
Para salvar valores se deve adicionar os valores em cada posição do vetor.
Posição é o local dentro do vetor onde será armazenado um valor, onde podemos acessar para mexer nele.
Adicionando valores
Existem duas formas principais de adicionar valores.
Tipo 1: Adicionando valores pré definidos
Podemos colocar valores na hora que estamos criando o vetor, se os valores já forem pré-definidos para teste, como no exemplo abaixo:
Dessa forma, podemos já ter os valores para usar caso necessário.
Tipo 2: Adicionando valores com estruturas de controle
Podemos usar estruturas de controle como o For e While para ir adicionando valores dentro de um vetor, assim os valores podem ser criados e adicionados.
Exemplo de Vetor onde é preenchido de 0 á 9 por um For:
Dessa forma teremos um vetor igual como o do tipo 1 só que os valores sendo criados depois , onde podemos modificar como quisermos de forma mais fácil.
OBS: existem inúmeras formas de se colocar valores em um vetor mas essas duas formas são as mais utilizadas diariamente no desenvolvimento.
Ponteiros e Vetores
Em C, um vetor é armazenado como um ponteiro para o primeiro elemento do vetor (na posição 0 ) e os demais elementos são armazenados nas memórias seguintes á primeira memória separada pela posição inicial.
Para definirmos o tamanho da memória que foi usado devemos saber o tipo de elemento que vai ser guardado, assim iremos verificar o tamanho do tipo e multiplicar pelo número de elementos definidos no vetor, como por exemplo:
Dessa forma podemos saber o tamanho total de memória utilizado, onde como mostrado pegamos o tamanho do tipo inteiro e multiplicamos pelo numero de posições do vetor.
Se estiver trabalhando com o tipo Char está trabalhando com 1 byte
por posição, se for Int será 4 bytes
por posição.
Vetores são passados por Referência
Como explicado nas Funções, na passagem por referência iremos passar um ponteiro de vez de enviar um valor de uma variável, dessa forma iremos enviar o espaço de memória onde está localizado o vetor e não os valores em si.
Embaixo um exemplo de Função que modifica os valores de um vetor:
Dessa forma descobrimos que na verdade Vetores são ponteiros para endereços de memórias dos valores armazenados nas posições especificas.
Aritmética de Ponteiros
Irei explicar a aritmética de ponteiros aqui porque isso está conectado intrinsecamente aos vetores.
Aritmética de ponteiros é um cálculo que se faz para se poder acessar outras posições do vetor, onde pegamos a primeira posição do vetor e vamos fazendo cálculos aritméticos para acessar os outros endereços de memória.
Como fazer
Primeiramente devemos criar um vetor e adicionar valores nele, irei usar como exemplo um vetor com valores pré-definidos.
Segundo criamos um Ponteiro do mesmo tipo do vetor e chamamos o Vetor nele
Terceiro pegamos a Primeira posição, onde só precisamos pegar o valor do ponteiro
Isso é Aritmética de Ponteiros, vamos somando o valor da posição e pegando o valor que se encontra lá dentro ou o endereço de memória dele.
Copiando o vetor
Para copiar um vetor ao outro devemos usar um for para pegar todos os valores do vetor antigo.
Para não modificar o vetor original devemos criar um novo vetor com novos endereços de memória.
Exemplo de Copia de um Vetor:
Alterando valores do vetor
Podemos alterar os valores de um vetor com ponteiros mais fácil, assim podemos mexer com os valores dos endereços de memória.
Lendo as Posições
Uma coisa que se tem que tomar cuidado é na leitura quando está querendo pegar os valores das posições.
Last updated