PONTEIROS EM C
CAMPUS BRASILIA
PONTEIROS em C
Curso: Analise e Desenvolvimento de Sistemas
Brasília
2013
Introdução
Ponteiros armazenam endereços de memória. Quando você anota o endereço de um colega você está criando um ponteiro. Qual é o sentido disto? Simples. Quando você anota o endereço de um colega, depois você vai usar este endereço para achá-lo. O C funciona assim. Você anota o endereço de algo numa variável ponteiro para depois usar.
Da mesma maneira, uma agenda, onde são guardados endereços de vários amigos, poderia ser vista como sendo uma matriz de ponteiros no C. Um ponteiro também possui um tipo. No C quando declaramos ponteiros nós informamos ao compilador para que tipo de variável vá apontar. Um ponteiro int aponta para um inteiro, isto é, guarda o endereço de um inteiro.
Definição
Os ponteiros são variáveis que contém endereços de memória com valores. Normalmente, uma variável faz uma referência direta a um valor específico. Um ponteiro, por outro lado, contém um endereço de uma variável que contém um valor específico. Sob esse ponto de vista, um nome de variável faz uma referência direta a um valor, e um ponteiro faz referência indireta a um valor. Diz-se que fazer referência a um valor por meio de um ponteiro é fazer uma referência indireta.
Declaração e Uso
Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;
É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar um valor, mas sim um endereço para aquele tipo especificado. Alguns exemplos de declarações: int *pt; char *temp,*pt2;
O primeiro exemplo declara um ponteiro para um inteiro. O segundo declara dois ponteiros para caracteres. Eles ainda não foram inicializados (como toda variável do C que é apenas declarada). Isto significa que eles apontam para um lugar indefinido. Este lugar pode estar, por exemplo, na porção da memória reservada ao sistema