Ponteiros
Resenha: Ponteiros. Pesquise 861.000+ trabalhos acadêmicosPor: MAISA2010 • 16/4/2014 • Resenha • 1.018 Palavras (5 Páginas) • 349 Visualizações
Ponteiros
Prof. Msc. Thiago Salhab Alves
Ponteiros
Uma das mais poderosas características oferecidas pela
linguagem C.
Ponteiro proporciona um modo de acesso a variáveis
sem referenciá-las diretamente.
Um ponteiro é uma representação simbólica de um
endereço.
Ponteiros
Ponteiros são usados nas seguintes situações:
»Fornecer maneiras com as quais as funções podem
realmente modificar os argumentos que recebem;
»Passar matrizes e “strings” mais convenientemente de
uma função para outra;
»Criar estruturas de dados complexas, como listas
encadeadas e árvores binárias.
»Para comunicar informações sobre memória, como na
função malloc() que retorna a localização de memória livre
através do uso de ponteiro.
Ponteiros
Declarando Variável Ponteiro
Você já sabe como declarar variáveis de tipos
básicos como int, float, etc. Como fazer para
declarar variáveis do tipo ponteiro?
A declaração de ponteiros tem um sentido
diferente da de uma variável simples:
» int *px, *py;
Ponteiros
Declara que *px e *py são do tipo int e que px e py
são ponteiros, isto é, px e py contém endereços de
variáveis do tipo int.
Para cada nome de variável (neste caso px e py),
a declaração motiva o compilador a reservar
dois bytes de memória onde os endereços serão
armazenados. Além disso, o compiladores deve estar
ciente do tipo de variável armazenada naqueles
endereços; neste caso inteiros.
Ponteiros
O programa chamador a seguir (main) em vez de
passar valores para a função, passa seus endereços.
Estes endereços são onde o programa chamador
quer que a função coloque os dados gerados; em
outras palavras são endereços de variáveis do
programa chamador onde nós queremos armazenar
os novos valores.
Ponteiros
void altera(int *px, int *py)
*px = 3;
*py = 5;
main()
int x, y;
altera(&x, &y);
printf(“O primeiro e %d, o segundo e %d.”,x,y);
Ponteiros
Uma vez conhecidos pela função, os endereços e os
tipos das variáveis do programa chamador, ela pode
não somente colocar valores nestas variáveis como
também alterá-las.
Ponteiros podem ser usados não somente para que a
função passe valores para o programa chamador,
mas também para passar valores do programa para a
função.
Ponteiros
void adcon(int *px, int *py)
*px = *px + 10;
*py = *py + 10;
Main()
int x = 4, y = 7;
adcon(&x, &y);
printf(“O primeiro e %d, o segundo e %d.”, x,y);
Ponteiros
Operações com Ponteiros
A linguagem C oferece cinco operações básficas
que podem ser executadas em ponteiros.
O Próximo programa mostra estas possibilidades.
Ponteiros
Atribuição
Um endereço pode ser atribuído a um ponteiro.
Normalmente isto é feito usando o nome de uma
matriz ou o operador de endereços (&) junto a
uma variável simples;
Exemplo:
int x, *px;
px = &x;
Ponteiros
Encontrando Valores
O operador (*) devolver o valor guardado no endereço
...