linguagem de programação orientada a objeto lpoo
Engenharia da Computação
Artur Henrique Kronbauer
1
Ponteiros
• Definição
– Ponteiros são endereços, isto é, são variáveis que contém um endereço de memória. Se uma variável contém o endereço de outra, então a primeira (o ponteiro) aponta para a segunda.
A
B
5
8
1022
X
1022
1038 1042 1061 1084 1092
Nome das Variáveis
Informação de Memória
Endereços de Memória
– “X” o “ponteiro”, aponta para o “inteiro” A.
– São ferramentas que nos possibilitam manipular endereços de memória e informações contidas nesses endereços.
2
Ponteiros
• Operadores
– & - (E comercial) - fornece o endereço de determinada variável. Atribui o endereço de uma variável para um ponteiro. Obs: Não confundir com o operador lógico de operações de baixo nível, de mesmo símbolo.
– * - (Asterisco) – permite acessar o conteúdo de uma variável, cujo endereço é o valor do ponteiro. Devolve o valor endereçado pelo ponteiro.
Obs: Não confundir com o operador multiplicação de mesmo símbolo.
aritmético
de
3
Ponteiros
• Exemplo 1: Utilização dos operadores & e *.
#include ;
Declaração de um ponteiro.
Main() m obtém o endereço de memória
{ int destino, origem; variável origem. int *m; origem = 10; destino recebe a m = &origem; informação contida no endereço apontado por m. destino = *m; printf(“O resultado é : %i”,destino);
}
destino origem
10
1038
10
1061
m
Nome das Variáveis
1061
da
Informação de Memória
Endereços de Memória
1092
4
Ponteiros
• Exemplo 2: Atribuição de ponteiros
Declaração
ponteiros.
dos
end2 recebe a posição de memória da variável origem que está guardada em end1. #include ;
Main()
{ float destino, origem; end1 recebe o endereço de float *end1, *end2; memória da variável origem. origem = 5.5; end1 = &origem; destino recebe a informação end2 = end1; contida no endereço apontada por end2. destino =