Zeiger auf Char und Int



  • Hey ich lerne zur Zeit c++. Nun habe ich folgenden Code geschrieben.

    #include <iostream>

    using namespace std;

    int main()
    {

    char c = 'a';
    int i = 1;

    cout << &c << endl;
    cout << &i << endl;

    return 0;
    }

    Das Ziel war es die Adresse vom Char und vom Int Auszug geben.
    Allerdings wird beim char einfach nur ein "a" ausgegeben . Beim Int funktioniert es. Meine frage nun. Warum?



  • Ein zeiger auf char wird von ostream/cout besonders behandelt, nämlich als c-string.


  • Mod

    Um die Adresse des chars auszugeben, kannst du den Zeiger in einen void-Zeiger umcasten, der von den ostreams dann wieder wie ein "normaler" Zeiger behandelt wird:

    cout << static_cast<void*>(&c) << endl;
    

Anmelden zum Antworten