Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: openSUSE 10.2
Por kohl
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Introdução a ponteiros na linguagem C
Linux user
Publicado por Thiago Cabral Borges em 10/07/2008

Login: thiago-cabral, 5567 pontos
[ Hits: 4785 ]

Introdução a ponteiros na linguagem C

Introdução a ponteiros na linguagem C
Thiago Cabral Borges
30/06/2008

Resumo

Este tutorial demonstra, de maneira fácil e rápida, como usar ponteiros na linguagem de programação C. Os tópicos aqui abordados são conceitos básicos que ajudam a compreender como funciona um ponteiro.

Palavras-chave: Ponteiros; Memória; Variável.

Introdução

Ponteiros é uma característica poderosa oferecida pela pelo C. A linguagem de programação C depende muito dos ponteiros, assim, um bom programador em C precisa dominar bem ponteiros.

Ponteiro é visto pela maior parte dos programadores iniciantes como uma das partes mais difíceis na linguagem C, pois o conceito de ponteiros pode ser novo ou um mesmo símbolo usado para certa finalidade e usado para outra diferente, tornando mais difícil o entendimento.

Entendendo o que é um ponteiro

Um ponteiro é uma variável que guarda um endereço de memória de outra variável. Os ponteiros da linguagem C proporcionam uma forma fácil de acesso ao valor de variáveis sem referenciá-las diretamente. Um ponteiro possui tipo, por exemplo, inteiros, ponto flutuante e caracteres. O tipo do ponteiro indica que tipo é a variável para qual ele aponta.

Um ponteiro é declarado a seguinte forma:

tipo_do_ponteiro *nome_do_ponteiro

Exemplo:

int *p, *a;
char *pt, *ponteiro;

No exemplo acima foram criados quatro ponteiros, dois de tipo inteiro e dois de tipo caractere. É importante não confundir o asterisco (*), que indica que a variável é um ponteiro, com o mesmo sinal indicando uma multiplicação.

Conhecendo os operadores

Sempre é importante iniciar o ponteiro. Um ponteiro sempre é iniciado com o local na memória onde se localiza o valor da variável. Para iniciar a variável desejada como o endereço de memória, segue o exemplo:

int variavel_apontada=2;
int *ponteiro;
ponteiro=&variavel_apontada;

No exemplo foi criada uma variável e iniciada com valor 2, foi criado também um ponteiro que logo abaixo foi iniciado com o endereço da variável chamada variável_apontada.

A linguagem de programação C oferece dois operadores unitários, o operador de endereço (&) e o operador indireto (*). O operador de endereço retorna o endereço de memória onde fica localizado a variável, como foi mostrado no exemplo acima. O operador indireto retorna o valor da variável para qual o ponteiro aponta. Por exemplo:

main() {
   int var, *p;
   var=10;
   p=&var;
   printf("O valor da variavel e': %d \n", *p);
   printf("O endereco de memoria da variavel e': %p \n", p);
   printf("O endereco de memoria do ponteiro e': %p \n", &p);
   *p=15;
   printf("O novo valor da variavel e': %d \n", var);
   return (0);    
}

A saída será:

O valor da variavel e': 10
O endereco de memoria da variavel e': 00AE4F6
O endereco de memoria do ponteiro e': 00AE4F8
O novo valor da variavel e': 15

No exemplo, usam-se os operadores para imprimir e aterá o valor da variável. Onde o endereço de memória varia de cada computador.

Conclusão

O ponteiro é usado em situações em que a passagem de valores é complicada, por isso é muito importante seu aprendizado. O conceito de ponteiro e seu uso podem, aparentemente, ser complicado, porém, não é muito difícil. O uso indevido e insensato de ponteiros pode causar sérios bugs em um programa e até comprometer todo o sistema, assim, é necessário cuidado quando se usa eles.


Outras dicas deste autor
Nenhuma dica encontrada.

Leitura recomendada
   Dica Linux recomendada Convertendo RMBV para DivX com mencoder
   Dica Linux recomendada Xterm colorido
   Dica Linux recomendada PHP4 + HTTPD2
   Dica Linux recomendada Assistente para converter pacotes .tar em .deb
   Dica Linux recomendada Definindo a quantidade de conexões simultâneas no PostgreSQL

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.