C-ponteiros
Instituto de Física e Matemática
Departamento de Matemática, Estatística e Computação
Bacharelado em Ciência da Computação
Programação I
Programa
Aula 4
Prof. José Luís Güntzel guntzel@ufpel.edu.br www.ufpel.edu.br/~guntzel
Ponteiros
Conceitos
• Um ponteiro é o endereço de uma variável na memória. • Uma variável de ponteiro é uma variável especialmente declarada para guardar um ponteiro para seu tipo especificado.
ComputaçãoUFPel
Programação I
slide 2
Prof. José Luís Güntzel
Ponteiros
Utilidades dos Ponteiros
1. São uma maneira rápida de referenciar uma variável em C;
2. São o meio pelo qual as funções em C conseguem modificar seus parâmetros de chamada;
3. Provêem suporte às listas encadeadas e outras estruturas de dados dinâmicas.
ComputaçãoUFPel
Programação I
slide 3
Prof. José Luís Güntzel
Ponteiros
Operadores para Ponteiros: operador &
•
•
Operador unário
Devolve o endereço da memória em que se encontra alocado seu operando;
ComputaçãoUFPel
Programação I
slide 4
Prof. José Luís Güntzel
Ponteiros
Operadores para Ponteiros: operador &
Exemplo:
m = &count;
atribui a m o endereço da memória em que se encontra a variável count. Esse endereço não tem nenhuma relação com o valor de count.
Pode-se imaginar & como significando “o endereço de”.
Desta forma, a sentença de atribuição anterior significa
“m recebe o endereço de count”.
ComputaçãoUFPel
Programação I
slide 5
Prof. José Luís Güntzel
Ponteiros
Operadores para Ponteiros: operador &
Exemplo mais concreto, em termos de memória: assuma que a variável count foi alocada para a posição de memória 2000. Assuma também que count tem como valor 100. Então, após a setença de atribuição anterior, m tem o valor 2000. endereço 1999
2000
2001
2002
…
ComputaçãoUFPel
Programação I
slide 6
memória
100
Prof. José Luís Güntzel
Ponteiros
Operadores para Ponteiros: operador *
•
•
Operador unário
Devolve o valor da variável localizada no endereço que o segue (ou seja,