Pointer auf character
-
Ich habe die Variable
char chZeichen
und den Zeiger
char* pchar = &chZeichen
definiert.
Sowie der Variable deklariert:
chZeichen = 65;
Im Programm möchte ich die Speicheradresse auf die der Zeiger zeigt ausgeben.
die Befehlszeile habe ich geschrieben:
cout << " *pchar : " << *pchar << endl;
Ausgegeben wird:
*pchar : A
auch die Versin für die Ausgabe:
cout << " &chZeichen : " << &chZeichen << endl;
bring die Ausgabe:
&chZeichen : A
A ist je das Zeichen für 65 im ASCI-Code. Aber es müßte die Speicheradresse des Zeichens angezeigt werden.
Was habe ich falsch gemacht???
-
Wenn Du diese Zeile verwendest,
cout << " pchar : " << pchar << endl;
bekommst Du die Speicher Adresse.
-
Vielen Dank, aber mir gelingt es trotzdem nicht den Speicherplatz anzuzeigen.
Ich habe nochmal folgenden Quelltext geschrieben.
Es wird trotzdem bei allen Varianten nur der Speicherinhalt ' A '
angezeigt!!!!!#include "stdafx.h"
#include <iostream.h>char chZeichen;
char* pchar = &chZeichen;int main(int argc, char* argv[])
{
chZeichen = 65;cout<<endl<< "* pchar : "<< *pchar << endl;
cout<<endl<< " pchar : "<< pchar << endl;
cout<<endl<< "chZeichen : "<< chZeichen << endl;
cout<<endl<< "&chZeichen : "<< &chZeichen << endl;
return 0;
}
-
Ob das "sauber" ist weiß ich jetzt nicht. Denke aber schon
#include <iostream> using namespace std; char chZeichen; char* pchar = &chZeichen; int main(int argc, char* argv[]) { chZeichen = 65; cout<<endl<< "* pchar : "<< *pchar << endl; cout<<endl<< " pchar : "<< reinterpret_cast<void*>(pchar) << endl; cout<<endl<< "chZeichen : "<< chZeichen << endl; cout<<endl<< "&chZeichen : "<< reinterpret_cast<void*>(&chZeichen) << endl; return 0; }
-
Vielen Dank,
da wäre ich mit meinen Kenntnissen nie drauf gekommen
-
Hm, ich hab auch mehr geraten O
-
Knuddlbaer schrieb:
Ob das "sauber" ist weiß ich jetzt nicht. Denke aber schon
Ne, ist nicht sauber.
Du verwendest globale Variablen -> boeseder rest ist OK
-
Hm...
hätt ich doch vorm past and copy des Fragestellers den krempel weggeschnipselt
*goldwaage mit dem Fuss wegschieb*