Zeiger, Pointer, ->
-
Hallo,
ich hätt da mal ne verständis frage zum Pfeiloperator:
1.) -> ist eine abkürzung, aber für was?
2.) z.b:
&p -> y
I.
entspricht doch und haben somit die gleichebedeutung:
&(*p).y
II.
aber was sagen die unterschiedlichen darstellungen aus?
kann mich jemand aufklären.
Danke!
Mfg
-
Spliffy85 schrieb:
1.) -> ist eine abkürzung, aber für was?
a->b ist eine Abkürzung für (*a).b
2.) z.b:
&p -> y
I.
entspricht doch und haben somit die gleichebedeutung:
&(*p).y
Jepp.
II.
aber was sagen die unterschiedlichen darstellungen aus?
Das gleiche. Falls dich die Rangfolge verwirrt, -> bindet stärker: &(p->y) steht da also in beiden Fällen.
-
ok, aber was bedeutet *&(p) genau.
is das zeiger und adresse zu gleich !?!
-
das müsste doch jetzt auf die adresse, von der variable auf die p zeigt, zeigen.
-
Naja & bildet die Adresse und * dereferenziert.
&(p) ist also p (macht aber nur Sinn wenn p ein Zeiger ist)
(&p) ist auch p
(&((&((&((&p))))))) ist dann auch p
-
und etz nochmal ganz langsam für die kleinen anfänger zum mitschreiben?!?
& ist die adresse und * der zeiger.
und in diesem fall is des dann alles zusammen?!? oder wie
-
mit & sprichst du die Adresse im Speicher an
mit * sprichst du den Wert in dem Speicher (auf den gezeigt wird) an