Pointer zeigen ja eigentlich nur auf eine Stelle im Speicher.
Beispiel:
Delphi-Quellcode:
var normalint: Integer;
zeigerint: ^Integer; //mit "^Integer" machen wir aus Integer einen Zeiger auf einen Integer
begin
normalint := 5; //der normalen Integervariablen weisen wir jetzt irgendeinen wert zu
zeigerint := @normalint;
//um zeigerint wie einen normalen Integer verwenden zu können muss man den Zeiger dereferenzieren - also "zeigerint^" verwenden
showmessage(inttostr(zeigerint^)); //und wenn wir uns jetzt zeigerint ausgeben lassen sieht man das da 5 rauskommt
zeigerint^ := 7; //jetzt setzen wir zeigerint auf 7
showmessage(inttostr(normalint)); //und wenn wir uns jetzt normalint anzeigen lassen steht da auch 7 weil wir ja an die stelle im speicher geschrieben haben wo normalint steht
end;
Ich hoffe es war einigermaßen verständlich, ansonsten nochmal posten was nicht verstanden wurde
und noch nen Beispiel aus nem beitrag den ich zum thema Pointer schonmal in nem thread gepostet hab
Delphi-Quellcode:
var gesamt: Array[0..1] of char;
byte1, byte2: ^char;
begin
byte1 := @gesamt[0]; //byte1 auf dein speicher von gesamt[0] zeigen lassen
byte2 := @gesamt[1]; //byte2 auf dein speicher von gesamt[1] zeigen lassen
byte1^ := 'a'; //an der stelle im speicher "a" schreiben
byte2^ := 'b'; //an der stelle im speicher "b" schreiben
self.caption := gesamt; //und siehe da, in gesamt steht später "ab"
end;