Bem vindo ao LifeGames Demo
Cadastre-se agora para ter acesso a todos os nossos recursos. Uma vez cadastrado e logado, você será capaz de criar tópicos, postar respostas a tópicos já existentes, a reputação de seus companheiros, começar seu próprio mensageiro privado, atualizações de status post, gerir o seu perfil e muito mais. Esta mensagem será removida assim que tiver logado.
Entrar Cadastre-se


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

ponteiro em pascal

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 ponteiro em pascal em Qua Abr 24, 2013 12:14 am

Moedas Moedas : 201
Mensagens Mensagens : 92
Humor Humor : *-*
Reputação Reputação : 5
Quebra de regras:
0 / 1000 / 100

hacker fts315

Moderador Informática

Moderador Informática

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



[center][Você precisa estar registrado e conectado para ver esta imagem.]


Contato:
Facebook: /hacker.fts315
Ask: /hfts315
Ver perfil do usuário http://www.facebook.com/hacker.fts315

2 Re: ponteiro em pascal em Qua Abr 24, 2013 10:05 am

Moedas Moedas : 278
Mensagens Mensagens : 1177
Idade Idade : 19
Humor Humor : Forever Alone T.T
Reputação Reputação : 28
Quebra de regras:
0 / 1000 / 100

RodrigoNunes

Admin

Admin

Legal cara, gostei desse tópico. Ganhou meu +




[Você precisa estar registrado e conectado para ver esta imagem.]
O Administrador ℛodrigoNunes sugere:
- Respeite as [Você precisa estar registrado e conectado para ver este link.]
- Participe das nossas [Você precisa estar registrado e conectado para ver este link.]
- Veja a nosso [Você precisa estar registrado e conectado para ver este link.]
- Não peça suporte por MP


Try
Topic.Resolve;
Finally
Topic.Caption := Topic.Caption + '[RESOLVIDO]';
Spoiler:
[Você precisa estar registrado e conectado para ver esta imagem.]
Ver perfil do usuário https://www.facebook.com/DarkGamesBrasil formatacaodemicros@hotmail.com.br naotenho esqueci

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum