seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[tutorial] ponteiro em pascal

Ir para baixo  Mensagem [Página 1 de 1]

1[tutorial] ponteiro em pascal Empty [tutorial] ponteiro em pascal Qua maio 30, 2012 1:19 pm

Kodo no Kami

Kodo no Kami
master
master

bom galera ja fiz um tutorial parecido com esse na linguagem c agora vou falar dos ponteiros da linguagem pascal, ponteiros sao variaveis q armazena endereço de memoria de outra variavel, assim voce pode ler o modificar o conteudo daquela variavel apenas com ponteiro, a vantagem de usar ponteiro e q quando vc passa uma variavel como argumento em uma funçao ela vai ta copiando o conteudo mais quando se usa ponteiro vc vai ta modificando a variavel e nao o conteudo recebido para depois ser atribuido a mesma, existe o proprio tipo de variavel ponteiro é o tipo pointer para declar basta fazer assim

Código:
var ponteiro : pointer;

esse tipo de variavel ele armazena o endereço de outra variavel, para armazer o endereço da variavel basta atribuir a variavel com @ antes do nome ou a funçao addr(), veja

Código:
var ponteiro : pointer;
    fts : integer;

begin
  fts := 315;
  ponteiro := @fts;
end.

o unico problema q quando vc declara um ponteiro com o tipo pointer ele apenas cria uma variavel q vai armazenar apenas o endereço da outra se poder modificar, isso acontece pq essa variavel e sem tipo e quando vc tenta ler da erro, para evitar isso agente vai criar uma variavel de um determinado tipo soq ela vai ser um ponteiro, para fazer isso basta criar uma variavel normal com ^ antes do tipo indicando q ela e um ponteiro

Código:
var ponteiro : ^integer;
    fts : integer;

begin
  fts := 315;
  ponteiro := @fts;
end.

para ler o conteudo da variavel basta adicionar ^ depois do nome dela

Código:
var ponteiro : ^integer;
    fts : integer;

begin
  fts := 315;
  ponteiro := @fts;
  write(ponteiro^);
end.

so lembrando q ta exibindo o conteudo diretamente da variavel fts o ponteiro so ta apontando para o endereço da variavel fts, vamos analisar de outro angulo vamos criar duas variavel normal

Código:
var ponteiro : integer;
    fts : integer;

begin
  fts := 315;
  ponteiro := fts;
  writeln(fts);
  writeln(ponteiro);
end.

se por acaso agente modificar alguns dos valores acima tanto da variavel fts quanto da variavel ponteiro ele nao vai afetar a outra pq a variavel ponteiro copio o conteudo da variavel fts mais depois disso nao afeta em nada veja

Código:
var ponteiro : integer;
    fts : integer;

begin
  fts := 315;
  ponteiro := fts;
  fts := 100;
  writeln(fts);
  writeln(ponteiro);
end.

ja o ponteiro e diferente se o conteudo da variavel mudar o do ponteiro muda tambem

Código:
var ponteiro : ^integer;
    fts : integer;

begin
  fts := 315;
  ponteiro := @fts;
  fts := 100;
  writeln(fts);
  writeln(ponteiro^);
end.

para mudar o conteudo atravez do ponteiro basta colocar ^ no final do nome do ponteiro assim

Código:
var ponteiro : ^integer;
    fts : integer;

begin
  fts := 315;
  ponteiro := @fts;
  ponteiro^ := 100;
  write(fts);
end.

bom galera espero q esse tutorial ajude vcs logo logo estarei fazendo outros ^^

by hacker fts315

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos