Mehrfache Indirektion



  • Ich komm nicht mehr weiter.

    Folgendes Beispielprogramm habe ich aus einem Buch durchgearbeitet:

    int iwert = 100;
    int *iptr = &iwert;
    int **iptrptr = &iptr;

    cout<<"*iptr: "<<*iptr<<'\n';
    cout<<"*iptrptr: "<<**iptrptr<<'\n';

    **iptrptr = 222;

    cout<<"*iptr: "<<*iptr<<'\n';
    cout<<"**iptrptr: "<<**iptrptr<<'\n';

    *iptr = 333;

    cout<<"*iptr: "<<*iptr<<'\n';
    cout<<"**iptrptr: "<<**iptrptr<<'\n';

    Der Buch Autor fasst dies nun so zusammen:

    Dass iptrptr eine Variable vom Typ char** ist, die die Adresse von iptr beinhaltet. *iptrptr ist eine Variable vom Typ char* welche den Wert von iwert beinhaltet und **iptrptr ist eine Variable vom Typ char mit dem eigentlichen Wert von iwert.

    Ich frage mich nun: Wieso ist iptr, *iptr, **iptrptr überhaupt vom typ char und was haben die * hinter dem char verloren.

    hoffe ihr könnt mir das plausibel erklären...danke schon mal im voraus

    mfg



  • Der Datentyp von Pointern ist
    z.B. char *, int *, void *, double *, float .
    Ein Stern (
    ) alleine macht noch keinen Pointer aus!

    Zeh Mau


Anmelden zum Antworten