Einzelnen Beitrag anzeigen

Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Pionter - ein schwarzes Tuch

  Alt 14. Feb 2009, 09:45
Zitat von mr_emre_d:
Delphi-Quellcode:
  X: Integer;
  P: PInteger; // Pointer auf einen Integer !
...
// Adressen sind zum Demonstrationszweck frei gewählt !

X := 12345; // Adresse von X - $00ABCDEF; Wert von X = 12345
P := @X; // Adresse von P - $00FEEFEE; Wert von P = $00ABCDEF

// jetzt zeigt unser Pointer P auf X
// wenn wir nun die Werte verändern wollen "dereferenzieren" wir es wie folgt

P^ := 54321; // Adresse von P - $00FEDCAB; Wert von P = $00ABCDEF
// der Wert & die Adresse haben sich nicht geändert
// da wir sie aber dereferenziert haben, haben wir somit auf X zugegriffen:
// X hat jetzt den Wert 12345
Hat X jetzt nicht den Wert 54321? Du hast doch mittels P^ das X geändert

gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat