domingo, 20 de maio de 2012

Vetor ou Array Unidimensional em C

Fala galera, hoje vamos falar de arrays unidimensionais os famosos vetores. Podemos dizer de forma bem simples que um vetor é um agregador de valores que possuem o mesmo tipo. Suponhamos que você precise armazenar todas as vogais do alfabeto, como você faria isso. Sem vetor você iria ter que declarar 5 variáveis e cada uma armazenaria uma vogal certo? Agora vejamos como isso ficaria bem mais simples com o uso de um vetor:

var vet[1..5]: literal

Pronto agora podemos armazenar todas as vogais, uma em cada posição do nosso vetor que no total possui 5 posições segundo sua declaração.

Agora vamos ver como fazer isso em C:
#include <stdio.h>
int main(void)
{
 //declarando um vetor
 char vet[5];
 int i;

 //preenchendo o vetor com as vogais
 vet[0] = 'a';
 vet[1] = 'e';
 vet[2] = 'i';
 vet[3] = 'o';
 vet[4] = 'u';

 //imprimindo as vogais contidas na variável vet (vetor)
 for(i = 0; i < 5; i++)
  printf("\t%c", vet[i]);

 return 0;
}
Lembrando que em C podemos ter vetores dos tipos: int(inteiros), float(reais) e double(reais). Uma função que é pouco usada mais é útil também é a função sizeof(*array). Essa função retorna a quantidade de bytes que sua array está utilizando. Então para usarmos essa função primeiro temos que saber quantos bytes cada tipo ocupa em C.
int e float >> 4 bytes
double     >> 8 bytes
char         >> 1 byte
Então para sabermos quantas posições nosso array tem, basta usar a função sizeof() e dividir esse tamanho por a quantidade de bytes que cada elemento da array ocupa. Exemplo:
#include <stdio.h>

int main(void)
{
 printf("char: %d bytes \n", sizeof(char));
 printf("int: %d bytes \n", sizeof(int));
 printf("float: %d bytes \n", sizeof(float));
 printf("double: %d bytes \n", sizeof(double));

 char var1[50];
 int var2[10];
 float var3[100];
 double var4[80];

 printf("qtde de elementos do vetor var1: %d \n", sizeof(var1)/sizeof(char)); printf("qtde de elementos do vetor var2: %d \n", sizeof(var2)/sizeof(int)); printf("qtde de elementos do vetor var3: %d \n", sizeof(var3)/sizeof(float)); printf("qtde de elementos do vetor var4: %d \n", sizeof(var4)/sizeof(double));
 return 0;
}

Outro ponto importante é saber quais são as formas que temos para declarar arrays em nosso código C. Temos duas maneiras, uma usamos quando não sabemos quais valores irão estar em nosso array, ou seja, só sabemos o seu tamanho:
#include <stdio.h>
int main(void)
{
    int idade[100];
    //usamos esta forma quando já sabemos o tamanho do nosso vetor, porém não sabemos os valores de seus elementos
    return 0;
}

Agora quando já sabemos os valores dos elementos de nosso array, já podemos declara-los e ao mesmo tempo inicializa-los em uma única linha de comando. Isso deixa o código mais legível e muito mais enxuto. Exemplo:
#include <stdio.h>

int main(void) 
{
    int idade[3] = {18, 10, 30}; //Com isso a posição 0,1,2 do meu array já possuem um valor no momento de sua execução
    int idade[] = {18, 10, 30}; //Esse trecho de código é equivalente ao trecho de código de cima
    return 0;
}

Aqui termina mais um tutorial sobre linguagem C. Até a  próxima pessoal...

Nenhum comentário:

Postar um comentário

Novidade!!! Agora vamos ter canal no Youtube =D

Fala pessoal tudo beleza, estou sumido a correria está forte por aqui. Estou querendo dar um start em um projeto antigo que vem desde o temp...