![]() |
Trivial: Was ist ein Pointer?
Hallo,
die Frage ist vielleicht trivial, aber was ist ein Pointer? MfG Christian |
Re: Trivial: Was ist ein Pointer?
ein Pointer ist ein Zeiger *g*. Damit ist es möglich auf einen Speicherbereich zu "zeigen". Bestes Beispiel eines Pointertyps ist PChar. Wenn du einer Funktion einen "PChar" übergibst, so übergibst du eigentlich nur die Adresse wo die Zeischen im Speicher liegen. Und die funktion ändert/liest/etc. an dieser Stelle im Speicher herum. Durch zeiger kann man die Geschwindigkeit eines Programmes ziemlich steigern da man keine Kopie von einer Variablen übergibt (da müsste ja erst kopiert werden etc.) sonder man übergibt die Adresse im speicher und die Procedure oder was auch immer liest dann gleich das orginal und nicht irgendwo eine kopie... am besten du suchst dir irgend eine Beispiel da sieht man am ehesten durch. Es gibt dann auch noch Zeiger auf Strukturen etc... ziemlich komplexes Thema...
|
Re: Trivial: Was ist ein Pointer?
:hi:
Zitat:
![]() |
Re: Trivial: Was ist ein Pointer?
nochn kleines Beispiel was ich schon in nem anderen Thread mal 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; |
Re: Trivial: Was ist ein Pointer?
Achso, ich hatte mir da wohl etwas noch komplexeres drunter vorgestellt *g*
MfG Christian |
Re: Trivial: Was ist ein Pointer?
Hi,
im Grunde ist es auch etwas komplizierter. Zwar ist der Sinn eines Pointers schnell erklärt, allerdings kannst du nicht einfach einen Pointer verwenden. Du musst Speicher reservieren und wieder freigeben etc. Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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