Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[TUTORIAL] Ponteiros


CriHbeiRo
 Compartilhar

Posts Recomendados

Ponteiros

 

Um ponteiro é uma variável que contém um endereço de memória. Esse endereço é normalmente a posição de uma outra variável na memória.

Por exemplo, suponha que a variável var1 esteja armazenada no endereço 1000 da memória. Se var2 for um ponteiro para var1, terá como conteúdo o endereço de memória var1, ou seja, 1000.

Se uma variável contém o endereço de outra, dizemos que aponte para a outra. Em nosso exemplo, var2 aponte para var1.

 

 

 

Criando Ponteiros

 

Para criar um ponteiro, coloque o símbolo ^ na frente do tipo da variável. Por exemplo:

 

var

PVar1 : ^Integer

PVar2 : ^Char

 

Obs.: Como as variáveis acima não apontam para nada particular, ocorrerá erro se tentarmos utilizá-las.

 

 

 

Atribuindo Endereços a Ponteiros

 

Para atribuir o endereço de uma variável para um ponteiro, faça:

 

NomeDoPonteiro := Addr (NomeDaVariávelApontada);

 

Ou

 

NomeDoPonteiro := @NomeDaVariávelApontada;

 

Por exemplo, Para atribuir o endereço da variável Dado para o ponteiro PVar1,faça:

 

PVar1 := Addr(Dado);

 

Ou

 

PVar1 := @Dado;

 

Para atribuir um valor inicial a um ponteiro sem aponta-lo para uma variável específica, utilize o seguinte comando:

 

PVar1 := NIL;

 

Obs.: O Pascal não permite incrementar, decrementar ou manipular de qualquer outra forma o conteúdo dos ponteiros. Você pode somente atribuir valores a ponteiros, atribuir um valor NIL a ponteiros ou compara seus valores.

 

 

 

Manipulando o Conteúdo do Endereço Apontado

 

Você pode Atribuir o conteúdo de um endereço referenciado pelo ponteiro paa outra variável, através da sintaxe:

 

NovaVariável := NomeDoPonteiro^;

 

Por exemplo, para atribuir o conteúdo de um endereço referenciado pelo ponteiro PVar1 a variável NovaVar, faríamos:

 

NovaVar := PVar1^;

 

Se PVar1 aponta para um endereço cujo conteúdo é 100, a NovaVar será atribuído o valor 100.

Para atribuir uma constante ao endereço apontado pelo ponteiro PVar1, faça:

 

IntPrt^ := 3;

 

Se quiser, você pode transferir o conteúdo de um endereço referenciado por um ponteiro para um outro endereço referenciado por outro ponteiro:

 

PtrDest^ := PtrOrig^;

PtrA^ := PtrB^+1;

 

 

LIVRO: Técnicas Avançadas de Programação em Delphi

2 Edição (Visual Books)

Autor: Adelize Generini de Oliveira

Ano : 1996

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.