Escola
Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo.
Declaração em Pascal: var ptInt: ^integer; {ponteiro para uma variável inteira } ptReal: ^real;
{ponteiro para uma variável real} 1
Operador @
Operador unário que retorna o endereço de uma variável program soma; var S,A,B:integer;
PtS,PtA,PtB : ^integer; begin readln(A,B);
PtA := @A;
PtB := @B;
PtS := @S;
PtS^ := PtA^ + PtB^; writeln('Resultado: ',PtS^); end. 2
Alocação de memória program soma; var S,A,B: integer;
PtS,PtA,PtB: ^integer; begin → A := 2;
B := 3;
PtA := @A;
PtB := @B;
PtS := @S;
PtS^ := PtA^ + PtB^;
Writeln('Resultado: ',PtS^); end. PtA
A
PtB
B
PtS
S
3
Alocação de memória program soma; var S,A,B: integer;
PtS,PtA,PtB: ^integer; begin A := 2;
→ B := 3;
PtA := @A;
PtB := @B;
PtS := @S;
PtS^ := PtA^ + PtB^;
Writeln('Resultado: ',PtS^); end. PtA
A 2
PtB
B
PtS
S
4
Alocação de memória program soma; var S,A,B: integer;
PtS,PtA,PtB: ^integer; begin A := 2;
B := 3;
→ PtA := @A;
PtB := @B;
PtS := @S;
PtS^ := PtA^ + PtB^;
Writeln('Resultado: ',PtS^); end. PtA
A 2
PtB
B 3
PtS
S
5
Alocação de memória program soma; var S,A,B: integer;
PtS,PtA,PtB: ^integer; begin A := 2;
B := 3;
PtA := @A;
→ PtB := @B;
PtS := @S;
PtS^ := PtA^ + PtB^;
Writeln('Resultado: ',PtS^); end. PtA
A 2
PtB
B 3
PtS
S
6
Alocação de memória program soma; var S,A,B: integer;
PtS,PtA,PtB: ^integer; begin A := 2;
B := 3;
PtA := @A;
PtB := @B;
→ PtS := @S;
PtS^ := PtA^ + PtB^;
Writeln('Resultado: ',PtS^); end. PtA
A 2
PtB
B 3
PtS
S
7
Alocação de memória program soma; var S,A,B: integer;
PtS,PtA,PtB: ^integer; begin A := 2;
B := 3;
PtA := @A;
PtB := @B;
PtS := @S;
→ PtS^ := PtA^ + PtB^;
Writeln('Resultado: ',PtS^); end. PtA
A 2
PtB