Início > C > Ponteiros em C

Ponteiros em C


Aproveitando que tenho dado uma atenção especial a linguagem C ultimamente e que hoje me concentro na parte de ponteiros, resolvi então falar algo aqui até para que sirva como uma anotação minha para consultas futuras e quem saiba até possa ser util para alguem interessado e que esteja engatinhando assim como eu.

Pois bem vamos ao que interessa.

Exemplo para ilustrar o que são e como funcionam os ponteiros.

Quando você anota o endereço de um colega você está criando um ponteiro. O ponteiro é este seu pedaço de papel. Ele tem anotado um endereço. Qual é o sentido disto? Certo mas e daí? o que isso tem haver com a programação.

Quando você anota o endereço de um colega, depois você vai usar este endereço para achá-lo. O C funciona assim. Voce anota o endereço de algo numa variável ponteiro para depois usar.

Ponteiros em C

Cada posição de memória  é associado um número  inteiro chamado endereço  da  posição  de  memória.  Como   uma  variável  é   uma  posição  de  memória,   a   cada   variável   é associado um endereço. Um ponteiro é uma variável capaz de armazenar um endereço de outra variável, sendo declarado com a seguinte sintaxe:

Tipo de dado *Identificador;

A  semântica   desta   declaração   pode   ser   assim  entendida:  Identificador  é   capaz   de   armazenar   o endereço de uma variável de tipo Tipo de dado. Por exemplo, uma declaração do tipo

int *p;

indica que p é uma variável capaz de armazenar o endereço de uma variável do tipo int. Na prática dizemos que p  aponta  para um inteiro.  Assim,  ponteiros também são chamados  apontadores.  Como ponteiros são variáveis,  pode-se   atribuir  um ponteiro  a  outro do mesmo   tipo.  Por   exemplo,   são válidas   as   seguintes instruções:

int *p, *t, i; // Declaração das nossas variáveis
p = &i; // p irá receber aqui o valor do endereço de i
t = p;        // t = p é possivel pois t e p são variaveis do tipo ponteiros

Na figura acima nosso ponteiro “p” foi armazenado digamos na posição 3 e nossa variavel “i” na posição 177450

na instrução p=&i;

P irá pegar o valor da posição de memoria de “i”.

#include <stdio.h>

main()
{

int i = 10, *p;
p = &i;
printf(“%d \n”, p); // Mostra o valor da posição de memoria onde i foi armazenado ( valor em decimal)
printf(“%p \n”, p); // Mostra o valor da posição de memoria onde i foi armazenado ( valor em hexadecimal)
printf(“%d \n”, *p); // Mostra o valor da variavel i ( No nosso exemplo i = 10)
}

BOm a medida que eu for avançando meu resumo irei postar aqui mais dicas.

Até a proxima.

Categorias:C Tags:, ,
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: