![]() |
Re: Pointer
Zitat:
Zitat:
|
Re: Pointer
@Pseudemys Nelsoni:
Delphi-Quellcode:
ist nicht das gleiche
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 und byte2 sind vom Typ "^Char" also ein Zeiger auf einen "Char" und ein Zeiger ist eine Adresse im speicher (Zahl) Am besten man stellt sich einen Pointer als zahl vor. Wenn du byte1 noch nix zugewiesen hast ist byte1 also irgend eine zahl wenn du
Delphi-Quellcode:
schreibst wird byte1 die speicheradresse (zahl) von gesamt[0] zugewiesen
byte1 := @gesamt[0]
somit merkst du dir im prinzip in der variablen byte1 die anfangsspeicheradresse von gesamt[0]
Delphi-Quellcode:
sollte also nicht gehen weil "gesamt[0]" keine zahl ist
byte1 := gesamt[0]
deswegen dereferenziert man einen Zeiger Wenn du also "byte11^" schreibst heißt es das du an die stelle im speicher wo byte1 hinzeigt was schreiben willst.. nochmal kurz zusammenfassend -"@variablenname" gibt die speicheradresse der variablen zurück -"pointer :=" lässt den zeiger auf eine andere position im speicher zeigen -"pointer^ :=" schreibt was an die stelle im speicher wo pointer hinzeigt |
Re: Pointer
ah, ich glaub so langsam versteh ich das (endlich) mal :mrgreen: thx.
Edit: ah, SirThornberry hat noch was geschrieben, das les ich dann jetzt mal, hatte das gar nicht gesehen hatte mich bei meinem beispiel ganz verschrieben, ich meinte ob: byte1 := @gesamt[0]; und: byte1 := Addr(gesamt[0]); das gleiche sind, sorry :oops: |
Re: Pointer
jup, das ist das gleiche
|
Re: Pointer
danke, das hat mir gholfen :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz