Ponteiros no Pascal / Delphi - Apontando para o mesmo endereço

Texto retirado de HowStuffWorks.

Eis um aspecto interessante da linguagem C (ou Pascal / Delphi): qualquer número de ponteiros pode apontar para o mesmo endereço. Por exemplo, você pode declarar p, q, e r como ponteiros de inteiros e defini-los para apontar para i, assim:

int i; int *p, *q, *r;  
p = &i;
q = &i;
r = p;

Em Pascal / Delphi:

var
  i: Integer;  
  p, q, r: ^Integer;
begin
  p := @i;
  q := @i;
  r := p;
  …

Observe que neste código, r aponta para o mesmo que p, que é i. Você pode atribuir ponteiros uns aos outros, e o endereço é copiado da direita para a esquerda durante a atribuição. Ao executar o código acima, você verá algo assim:

c-pointer7

A variável i agora tem 4 nomes: i, *p, *q e *r (ou p^, q^ e r^). Não há limite de número de ponteiros que podem conter (e apontar para) o mesmo endereço.

0 Respostas para “Ponteiros no Pascal / Delphi - Apontando para o mesmo endereço”


  1. Sem comentários

Deixe uma Resposta