Ponteiros - teoria

4
Ponteiros Passar parâmetros por referência. Alocar memória. Otimização. “É uma variável que contém um endereço de memória (posição de outra variável). Declaração tipo *nome; endereço na variável na memória memória 1000 1001 1002 1003 1004 . . . Memória Exemplo: 1003

description

Introdução a ponteiros.

Transcript of Ponteiros - teoria

Page 1: Ponteiros - teoria

Ponteiros

• Passar parâmetros por referência.

• Alocar memória.

• Otimização.

“É uma variável que contém um endereço de memória (posição de outra variável).

Declaração

tipo *nome;

endereço na variável na

memória memória

1000

1001

1002

1003

1004 .

.

.

Memória Exemplo:

1003

Page 2: Ponteiros - teoria

Operadores

& retorna o “endereço de”

* retorna o “valor de”

As variáveis ponteiros sempre devem apontar para o tipo de dado correto. Quando um ponteiro é declarado como int, por exemplo, ele assume que qualquer endereço que ele contenha aponta para uma variável inteira.

No caso abaixo o código compila, mas o resultado não será o esperado.

Como p é um ponteiro para inteiros, apenas dois bytes de informação são transferidos para y, não os 8 bytes que normalmente formam um número em ponto flutuante.

Atribuição de ponteiros

Page 3: Ponteiros - teoria

Aritmética de ponteiros

• Operações possíveis: adição e subtração.

Considerando um ponteiro p1(inteiro) com valor 2000 e inteiros com 2 bytes.

p1++; p1 contém 2002.

p1--; p1 contém 1998.

Cada vez que p1 é incrementado ou decrementado ele aponta para o próximo elemento do seu tipo base.

• Somando ou subtraindo inteiros de ponteiros

p1 = p1 + 12;

Faz p1 apontar para o décimo sengundo elemento do tipo p1 adiante do

elemento que ele está atualmente apontando.

Page 4: Ponteiros - teoria