Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Pointerarithmetik

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.11.2008, 23:13 Uhr
banshee



Also angenommen ich definiere mir einen char:

const char *s = foo;

der jetzt an der Speicheradresse 0x00346282 liegt und auf die Zeichenkette "44205722" zeigt. Dann caste ich das ganze folgendermaßen:

*((unsigned long long int*)s)

Die Speicheradresse ist jetzt immernoch die gleiche, aber der Ausdruck zeigt auf den Wert 842019892, was hexadezimal 32303434 ist, also nur die ersten 4 Zeichen, der oberen Zeichenkette sind. Warum nicht alle acht?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.11.2008, 00:08 Uhr
0xdeadbeef
Gott
(Operator)


Ich halte das für einen Ausgabefehler, siehe auch hier.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: