Adresse von char Array[] Zeiger



  • Wie bekomme ich eine Adresse von einem Zeiger der auf ein char Array zeigt???

    int main....
    {
    char *a=new char[50];
    strcpy(a,"Test test");
    int  *b=new int[50];
    int  *c=new int;
    
    cout << b << endl; //Das hier ist normal für mich. Wenn man den Zeiger ohne Dereferenzierungoperator schreibt bekommt man die Adresse.
    cout << c << endl; //ist ja auch so ohne "*" --> Adresse
    cout << a << endl; //aber jetzt? Ich bekomm gleich den ganzen Text, is ja auch in Ordnung,
    // anderst würde ich ja dann nur immer einen Buchstaben bekommen. Trotzdem wie komm ich jetzt an die Adress von a hin? Hab ich einen Denkfehler??
    ....
    }
    


  • 'a' ist schon die Adresse, nur gibt 'cout' bei 'char*' nicht eine Adresse aus sondern den nullterminierten String. Für die Adressausgabe muss man in einen untypisierten Zeiger konvertieren:

    cout << static_cast<void*>(a) << endl;
    


  • Ganz einfach: Ficken = Arsch


Anmelden zum Antworten