Hallo Leute,
Ich versuche gerade zum 10. mal, Pointer zu verstehen...
Wie es mit int etc. abläuft weiß ich ja. Zum Beispiel:
Was ich allerdings nicht verstehe ist:
Wieso wird der Wert nicht mittels Dereferenzierungsoperator gemacht? So wie bei int?
Kann mir hier jemand helfen, ich glaub ich habe da ein kleines Verständisproblem^^
EDIT: Und wie kann ich mittels Pointer dann einzelne Zeichen aus dem String ermitteln? z.B. nur das a aus Hallo ausgeben..
lg
Ich versuche gerade zum 10. mal, Pointer zu verstehen...
Wie es mit int etc. abläuft weiß ich ja. Zum Beispiel:
Code:
int x = 5, *ptr1, **ptr2;
char text[] = "Hallo";
pt1 = text;
pt2 = &pt2;
ptr1 = &x;
ptr2 = &ptr1;
printf("Wert von x: %d\n", x);
fflush(stdout);
printf("Adresse von x: %p\n\n", &x);
fflush(stdout);
printf("Wert von ptr1 (= Adresse von x): %p\n", ptr1);
fflush(stdout);
printf("Adresse von ptr1 selbst: %p\n", &ptr1);
fflush(stdout);
printf("Wert von Adresse auf die ptr1 zeigt: %d\n\n", *ptr1);
fflush(stdout);
Was ich allerdings nicht verstehe ist:
Code:
char text[] = "Hallo";
char *pt1, **pt2;
pt1 = text;
pt2 = &pt2;
printf("Wert von text: %s\n", text);
fflush(stdout);
printf("Adresse von text: %p\n\n", &text);
fflush(stdout);
printf("Wert von pt1 (= Adresse von text): %p\n", pt1);
fflush(stdout);
printf("Adresse von pt1 selbst: %p\n", &pt1);
fflush(stdout);
printf("Wert von Adresse auf die pt1 zeigt: %s\n", (*pt1)); <<<<<<<< FEHLER
fflush(stdout);
Wieso wird der Wert nicht mittels Dereferenzierungsoperator gemacht? So wie bei int?
Kann mir hier jemand helfen, ich glaub ich habe da ein kleines Verständisproblem^^
EDIT: Und wie kann ich mittels Pointer dann einzelne Zeichen aus dem String ermitteln? z.B. nur das a aus Hallo ausgeben..
lg
Zuletzt bearbeitet: