Datentyp char
-
Hallo Forum,
wieso ist der normale char signed? Eigentlich soll er doch ein Zeichen darstellen?
http://www.datasource.de/programmierung/tab33_cppdatentypen.htmlWenn manche Funktionen mir einen Buffer füllen erwarten sie ein char* Buffer und keinen unsigned char*. Wieso?
-
'char' ist in C als 8 Bit Ganzzahltyp definiert (und normalerweise wird sein Inhalt als ASCII-Code interpretiert) und ist völlig eigenständig gegenüber 'signed char' und 'unsigned char' - auch wenn sein Wertebereich mit einem von beiden identisch ist.
-
Vielen Dank CStoll
Also ist char eigentlich Byte? Man hat nur vergessen ihn umzubenennen? Jetzt wo es Unicode gibt sind 1 Byte Chars eh obsolet.
-
Einen Datentyp "byte" gibt's im ANSI-Standard nicht, nur in der WinAPI (als typedef für 'unsigned char'), aber char ist die kleinste adressierbare Einheit im Speicher, also typischerweise ein Byte groß. Und auch im Zeitalter von Unicode gibt es noch char