![]() |
Zeiger allgemein
Hallo,
Kann mir bitte jmd erklären, was genau das "^" bei Pointern bedeutet? Das Prinzip der Pointer hab ich im allgemeinen verstanden, aber ich habe Probleme das Element und den Zeiger zu unterscheiden... Bsp: (Wo ist der unterschied?)
Delphi-Quellcode:
Danke schonmal, Huso
type
PElement = ^TElement; TElement = RECORD number: integer; next,back: PElement; END; var head: PElement; ---------------------- head^.next head.next head.number head^.number --> wo liegen die unterschiede? |
Re: Zeiger allgemein
Delphi-Quellcode:
ist die eigentlich richtige Form. Der Compiler ist aber so "nett" und erlaubt dir, stattdessen auch
head^.next
Delphi-Quellcode:
zu schreiben, da eindeutig ist, was du meinst.
head.next
|
Re: Zeiger allgemein
joa, hmm, ok... aber was bedeutet "^" denn überhaupt?
|
Re: Zeiger allgemein
In dem Fall bedeutet das, dass du das Element ansprichst, auf den dein Zeiger zeigt, also das Element, das an der Speicheradresse abgelegt ist, die in deinem Zeiger gespeichert ist.
|
Re: Zeiger allgemein
^irgendwas ist ein unärer Operator, der einen Pointer auf "irgendwas" zurückgibt.
irgendwas^ greift direkt auf "irgendwas" zu. Den Unterschied dürfte man sehen, wenn man schreibt:
Delphi-Quellcode:
var irgendwas: String[10];
pirgendwas:=^irgendwas; showmessage(inttostr(sizeof(irgendwas))); showmessage(inttostr(sizeof(pirgendwas))); showmessage(inttostr(sizeof(pirgendwas^))); |
Re: Zeiger allgemein
Ah!! ;) Hab's wohl verstanden... Danke schön!
|
Re: Zeiger allgemein
Um ehrlich zu sein: Ich habe es auch erst jetzt gecheckt, als ich es dir erklärt hab.
|
Re: Zeiger allgemein
Zitat:
PS: ^x gibt es noch in irgendeiner Beziehung mit Chars, den Rest habe ich aber vergessen :wink: . |
Re: Zeiger allgemein
Hobbala. Aber @ ist ein unärer Operator.
|
Re: Zeiger allgemein
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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 by Thomas Breitkreuz