Einzelnen Beitrag anzeigen
Ungelesen 11.12.12, 23:14   #4
slahn
Erfahrenes Mitglied
 
Benutzerbild von slahn
 
Registriert seit: Oct 2009
Beiträge: 639
Bedankt: 228
slahn ist noch neu hier! | 0 Respekt Punkte
Standard

Also printf("4 %d\n", &pointer); gibt dir die Adresse von "pointer" als Integer aus und printf("5 %d\n", pointer); gibt dir die Adresse von "nummer" (also die Adresse von dem Element auf das "pointer" zeigt) als Integer aus.

Also einmal alles zusammengefasst:

pointer -> gibt dir die Adresse auf die "pointer" zeigt (in deinem Fall die Adresse wo "nummer" im Speicher liegt
&pointer -> gibt dir die Adresse wo "pointer" liegt (bzw. die Adresse wo der Wert von "pointer" gespeichert ist und somit die Adresse wo die Adresse hinterlegt ist, auf die "pointer" zeigt)
*pointer -> Gibt dir den Wert zurück, auf den "pointer" zeigt (in deinem Fall den Wert von "nummer")

&pointer funktioniert nicht anders wie deine Zuweisung pointer = &nummer; ... Da gibst du "pointer" die Adresse von "nummer" ... mit &pointer bekommst du eben die Adresse von "pointer" ... denn auch ein Pointer hat eine Adresse und man kann eben auch Pointer auf Pointer machen (int **pointerPointer; ).
__________________
"[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]" (Klopfers Vater)
slahn ist offline   Mit Zitat antworten