vendredi 22 mai 2015

Pointer auf char Array

Hallo Leute,

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^^

lg


Pointer auf char Array

0 commentaires:

Enregistrer un commentaire