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