Einem Zeiger eigene Adresse zuweisen.
-
Hallo! Ich habe eine Frage zu Zeiger.
Und zwar möchte ich einem Zeiger eine eigene Adresse zuweisen, dies erlaubt der Compiler aber nicht, also z.B. so:int * huhu; huhu=12345;Dies möchte ich aber machen wollen.
EDIT: folgendes möchte ich nämlich machen:for(int i=0;;i++) { int * huhu; huhu=i; cout<<*huhu<<endl; }Also alle Adressen mal ausgeben. Dies habe ich früher mal gemacht, aber ich habe die adresse per Assembler dem Zeiger zugewiesen, es muss aber auch ohne assembler möglich sein.
-
Hi,
Du musst vor der Varieblen dessen Adresse du in ienem Zeiger speichern willst den Adressoperator- & davorsetzn(code...) int var = 0; int *ptr = 0; // Aus Sicherheit oder sofort *ptr = &var; ptr = &var; // ptr zeigt nun auf die Adresse von var (code...)lg c4f
-
int* huhu = reinterpret_cast<int*>(12345);
-
Eine schöne und kurze Antwort, ohne doofe Fragen wie z.B. "du kannst doch nicht einfach im speicher rumlesen, das system erlaubt es dir nicht"
Allerdings habe ich was anderes gemeint

-
Oh danke drakon! ich werds eben ausprobieren
Das davor war an c4f
-
neoexpert schrieb:
Oh danke drakon! ich werds eben ausprobieren
Das davor war an c4ftut mir leid war nur aus reiner Neugier mit der Frage -.-
-
...zu lahm...
-
hä? welche frage?
-
neoexpert schrieb:
hä? welche frage?
ich hab edit rausgenommen weil ich eben später im edit (den du wahrschnlich nicht gesehn hast) tatsächlich die doofe frage gestellt habe ... und du hast das mit wahrscheinlich nicht gesehn, und als ich deine Antwort gelesen hatte, stand da schöne kurze antwort, da dacht ich das wär für den Nachposter, und das mit der doofn Frage wär eben für mich ... deswegen schrieb ich tut mir leid
lg c4f
-
hihi cool

nun habe ich eine anderes Problem://--------------------------------------------------------------------------- #include <iostream.h> int main(int argc, char* argv[]) { for(int i=0;;i++) { try { int* huhu = reinterpret_cast<int*>(i); cout<<*huhu; } catch(...) {} } return 0; } //---------------------------------------------------------------------------Jetzt möchte ich, wenn von der Adresse i nicht gelesen werden kann, dass das programm trotzdem weiter läuft und die nächste adrese probiert. Wie geht sowas?
-
Also bei mir funktioniert dein Code so.
LOL
caste den Integer mal nach char.cout<<(char)*huhu;
-
ne komisch, läuft nicht, stürzt ab. Was gibt mein code denn bei dir aus?
-
Ich werd mal neuen thread öffnen...
-
ist bloedsinn was du machen willst.
du kannst zwar deinem compiler sagen, dass er hardware exception fangen soll und dadurch die access violation mit catch fangen, aber was du wohl eher dir ansehen solltest sind die interprocess funktionenen deines betriebssystems.
-
ja interessant, kannst du mir anleitung geben zu der sache?