Pointer in C?
Ich bin mir immer noch unsicher, was Pointer betrifft ich habe dieses Video hier gesehen. Ich glaube ich weiß was er meint, aber irgendwie auch nicht.
Verstehe ich richtig ist der Unterschied zwischen int * px und nur *px
dass das eine auf die Speicheradresse zugreift und das andere direkt auf den Wert ?
wir arbeiten gerade viel mit Pointern bei Struct . Bin absoluter Anfänger und habe den Eindruck, dass ich bei Pointern irgendwas mache aber ist wirklich nicht ganz verstehe
2 Antworten
int * pX=&x; /* Definition von pX mit Initialisierung entspricht: */
int * pX; /* deklariere pX als Pointer auf Interger */
pX=&a; /* Lege Adresse von X in Pointer / lass Pointer pX auf x zeigen */
int y=*pX; /**-Operator dereferenziert Pointer, nimmt also das, worauf der Pointer zeigt */
Im Endeffekt wird also der Wert von x an y zugewiesen.
soweit ich weiß wird bei int *px nur festgelget das der pointer ein integer ist. das brauchst du dann im weiteren verlauf nicht mehr, weil es ja bereits festgelegt wurde. du kannst es auch so schreiben:
int *px;
*px = &x;
int y = *px;
kann aber auch sein, dass ich falsch liege