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.
-
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;