Obecne je premennu typu pointer mozne rozdelit do dvoch kategorii:
1. Typovy pointer (napr. typu ^Char, ^Byte, ^String, ...)
2. Netypovy pointer (typu Pointer)
Cize pokial je zname, na ake data sa bude ukazovat (popr. data akej velkosti), je vhodne pouzit typovy pointer, v opacnom pripade netypovy pointer.
Hodnota pointera sa zisti jednoducho pridanim znaku ^ za nazov premennej typu pointer. Pri netypovych pointeroch je ale potrebne kompilatoru uvadzat hodnotu s tzv. pretypovanim, kolko byte sa ma nacitat, pretoze by to inak nevedel urcit.
(napr. Byte(P^) - nacita z pamate 1B, ...).
Ale aby som uviedol odpoved na tvoju otazku, riesenie je nasledovne :
Kód:
var
Data: Integer;
P: Pointer;
begin
P := @Data;
{ vypis obsahu premennej Data }
Writeln(Integer(P^));
end.
Pri pouziti typoveho pointera by bolo riesenie nasledovne:
Kód:
type
PInteger = ^Integer;
var
Data: Integer;
P: PInteger;
begin
P := @Data;
{ vypis obsahu premennej Data }
Writeln(P^);
end.