Introdução à linguagem C - Parte III

Este artigo é o terceiro artigo da série introdução à linguagem C. Aqui serão abordados assuntos como: declaração de vetores, declaração de ponteiros, inicialização de vetores, utilização de vetores e ponteiros.

[ Hits: 49.282 ]

Por: Ricardo Rodrigues Lucca em 07/07/2003 | Blog: http://aventurasdeumdevop.blogspot.com.br/


Vetores



Vetores são agrupamentos de determinado objeto em ordem seqüencial na memória. Isto, não quer dizer nada pra uma pessoa iniciando. Então, vamos a exemplos!

Declaramos variáveis normais assim:

int contador1, contador2, contador3, contador4;

Agora, podemos declarar essa mesma variável contador como um vetor e evitamos "repetições".

int contador[4];

Acima, está um exemplo de declaração de vetores. Os vetores seguem o mesmo principio da declaração de uma variável normal. O valor entre colchetes, depois do nome, informa quantos elementos a variável terá.

Ao contrario do Pascal, que normalmente o vetor inicia em 1 (ex. contador[1]), na linguagem C o primeiro elemento é o 0 (Zero), ou seja, contador[0].

Podemos, ler o contador como uma variável normal:

scanf("%d",&contador[0]); //na parte de Ponteiros falarem porque podemos ler sem o &
//ou

scanf("%d",contador); /* se não for passado o elemento pra ser acessado após o nome da variável o C, entende que é para acessar o primeiro elemento do vetor */


Um programa que demonstra isso pode ser:

#include <stdio.h>

void main(void)
{
      int x, conta[3];

      for (x=0;x<3;x++)
      {
           scanf(" %d", &conta[x]);
           printf("conta %d vale %d\n", x, conta[x]);
      }
}

Ainda sobre vetores, se quisermos inicializar ele diretamente na declaração? A exemplo de:

int x=0;

Como fazer? Simples!

int conta[3] = {0, 0, 0};

Modificando nosso programinha:

#include <stdio.h>

void main(void)
{
      int x, conta[3]={0, 0, 0};

      for (x=0;x<3;x++)
      {
           scanf(" %d", &conta[x]);
           printf("conta %d vale %d\n", x, conta[x]);
      }
}

Vetores de Vetores


Os vetores de vetores são chamados também de vetores multi-dimensionais ou matrizes! Os vetores de vetores tem declaração parecida, se não idêntica aos vetores normais.

Vamos ao exemplo:

#include <stdio.h>

void main(void)
{
      int x, y, conta[3][3]={0, 0, 0, 0, 0, 0, 0, 0, 0};

      for (x=0;x<3;x++)
        for(y=0;y<3;y++)
          {
           scanf(" %d", &conta[x][y]);
           printf("conta %d,%d vale %d\n", x, y, conta[x][y]);
          }
}
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Vetores
   3. Ponteiros
   4. Aritmética de ponteiros
   5. Exemplo Final - Tudo num
Outros artigos deste autor

Usando MySQL na linguagem C

Introdução à linguagem C - Parte IV

Ponteiros void na linguagem C

Ponteiros void na linguagem C (parte 2)

Conceitos sobre o X-Window

Leitura recomendada

Introdução à linguagem C - Parte I

Criando uma calculadora com o Glade

Operadores com a linguagem C

Criando uma calculadora com o KDevelop

Estudo de ponteiros para GNU/Linux

  
Comentários
[1] Comentário enviado por Henryynogui em 03/04/2004 - 09:17h

-->*/Construa a solução que preencha um vetor com código do funcionário,em outro vetor com o salário e o terceiro resultante do aumento de 15 % para os salários entre 500,00 e 1200,00. Ao final,exiba um vetor com código do funcionário e seus respectivos salários e um vetor com aumento em ordem crescente com funcionário correspondente. /*

[2] Comentário enviado por Henryynogui em 03/04/2004 - 09:18h

Dá uma forcinha por favor com esse programa em c.

-->*/Construa a solução que preencha um vetor com código do funcionário,em outro vetor com o salário e o terceiro resultante do aumento de 15 % para os salários entre 500,00 e 1200,00. Ao final,exiba um vetor com código do funcionário e seus respectivos salários e um vetor com aumento em ordem crescente com funcionário correspondente. /*

[3] Comentário enviado por Henryynogui em 03/04/2004 - 09:19h

-->*/Construa a solução que preencha um vetor com código do funcionário,em outro vetor com o salário e o terceiro resultante do aumento de 15 % para os salários entre 500,00 e 1200,00. Ao final,exiba um vetor com código do funcionário e seus respectivos salários e um vetor com aumento em ordem crescente com funcionário correspondente. /*

email: henrique_nogui@ig.com.br

[4] Comentário enviado por jllucca em 03/04/2004 - 09:59h

opa, vamos conversar por email que acho fica mais facil pra ti ajudar :)

[5] Comentário enviado por HunZ em 03/09/2004 - 18:01h

Já fiz alguns programinhas em C. Mas nunca usei ponteiros..
Os ponteiros ajudam no que?
Ou eles apenas facilitam na hora de programar?

[6] Comentário enviado por jllucca em 03/09/2004 - 19:33h

HunZ, eles tanto facilitam a programação como facilitam. Num unico ponteiro podemos ter um endereço que nesse novo endereço podera ter um outro endereço e, assim, sucessivamente...

Ponteiros são a unica forma de implementar a "Alocação dinamica" que é ir utilizado a memoria a medida que tu vai precisando dela. Por exemplo, tu cria um ponteiro lista e um aux. Ai para fazer a lista dinamica, tu reserva espaço para aux e faz ele apontar para a lista e depois a lista recebe o aux. Isso parece meio complicado, mas c voce usar uma estrutura e conseguir visualizar o que ocorre não terá duvidas do "poder" do ponteiro. Poder tanto construtivos como destrutivos, pq tu pode passar horas procurando um erro que é um ponteiro que retornou NULL e não foi checado hehehe

[]'s

[7] Comentário enviado por breulitro em 07/12/2004 - 02:54h

como se compila o programa ???

[8] Comentário enviado por jllucca em 07/12/2004 - 14:10h

gcc <nomedoarquivoc>

[9] Comentário enviado por Ti_j@der em 19/12/2004 - 21:21h

Por favor preciso de uma ajuda eu usava o Red Hat na faculdade e compilava normal agora to testando o Kurumim e naum consigo compilar os meus programas, o q pode ser ? vc sabe qula compilador ideal p o Kurumin???

[10] Comentário enviado por jllucca em 19/12/2004 - 21:50h

Oi,

eu nunca mexi com o kurumin então vou passar dois links. O primeiro é um forum da comunidade kurumin e o segundo um post de outro forum de um cara que tava com problemas pra compilar programas.

Eis, os links:

http://www.kurumin.com.br
http://www.unidev.com.br/forum/topic.asp?TOPIC_ID=13009

[]'s

[11] Comentário enviado por rockstore6 em 19/07/2007 - 23:29h

pow muito bom o artigo gostei

[12] Comentário enviado por f_Candido em 10/09/2007 - 21:47h

Muito bom o Artigo, principalmente a parte de Ponteiros.
Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts