Zeiger sind dann praktisch, wenn du sicherstellen willst, dass du die Änderung einer Variablen immer mitbekommst. Sagen wir, du hast zwei Variablen, a und b.
Wenn du jetzt willst, dass in b das gleiche drinsteht wie in a, was tust du dann?
Vermutlich b := a;
So, wenn sich jetzt aber der Wert von a ändert, wird in b immer noch der alte Wert drinstehen. Dieses Problem kann man mit Zeigern lösen:
Delphi-Quellcode:
var a: integer;
b: ^integer;
begin
a := 5;
b := @a; // Jetzt zeigt b auf die Stelle im Speicher, an der a steht
// in b^ steht jetzt 5
a := 3;
// in b^ steht jetzt ebenfalls 3!
end;
Ein Nachteil von Zeigern ist, dass man ein bisschen mehr aufpassen muss, was man tut. Insbesondere reservierten Speicher wieder freizugeben, keine NIL-Zeiger zu dereferenzieren usw.