C - Pointer auf Pointer Verständnisproblem!?
-
Hallo,
verstehe eigentlich (glaube ich jedenfalls) jede Zeile bis auf die letzte: printf("*k = %p\n", *k);
Die Ausgabe von der letzen Zeile ist: *k = 0x7fff5c373b18Warum zeigt Pointer *k auf die Speicheradresse von i?
Kann wer mir bitte das erklären?Vielen Dank im Voraus.
Mit freundlichen Grüßen
int main(){ int i = 10; int *j = &i; int **k = &j; printf("i = %d\n", i); printf("*j = %d\n", *j); printf("**k = %d\n", **k); printf("&i = %p\n", &i); printf("&j = %p\n", &j); printf("&k = %p\n", &k); printf("j = %p\n", j); printf("k = %p\n", k); printf("*k = %p\n", *k); return 0; } Ausgabe: i = 10 *j = 10 **k = 10 &i = 0x7fff5c373b18 &j = 0x7fff5c373b10 &k = 0x7fff5c373b08 j = 0x7fff5c373b18 k = 0x7fff5c373b10 *k = 0x7fff5c373b18
-
Hallo,
k
ist ein Zeiger aufj
, das heißt*k
ist gleichj
. Und daj
ein Zeiger aufi
ist, ist*k
eben die Adresse voni
.
-
Vielen Dank Bashar!