Gast
#747758
ist ein Literal => const char * oder => const unsigned char * wenn ich gcc --funsigned-char code.c benutze, wird damit nicht Typ vom string literal zu const unsigned char * gesetzt? grüsse, Daniel
|
Anzeige
|
Typ vom C string literal wie zB "text"
Gast
#747758
ist ein Literal => const char * oder => const unsigned char * wenn ich gcc --funsigned-char code.c benutze, wird damit nicht Typ vom string literal zu const unsigned char * gesetzt? grüsse, Daniel
Gast
#747793
Ein String-Literal hat streng genommen gar keinen Typ, da es weder ein Pointer noch ein Array ist. Es ist einfach eine Folge von Zeichen. Diese Zeichen selbst haben aber einen Typ, und der ist immer char. Mit den Compiler-Optionen -funsigned-char und -fsigned-char legt man fest, ob der Typ char bei Rechenoperationen als vorzeichenlose oder vorzeichenbehaftete Zahl behandelt wird. Unabhängig von dieser Einstellung sind aber char, signed char und unsigned char drei verschiedene Datentypen.
Gast
#748094
> ist ein Literal => const char * > oder => const unsigned char * Keins von beiden. Es ist ein Array aus const char. > Ein String-Literal hat streng genommen gar keinen Typ, da es weder ein > Pointer noch ein Array ist. Naja, es ist nicht selbst ein Array, da noch ein paar Umformungen dazwischen sind, aber nach diesen wird dann ein Array draus.
Gast
#748095
> Diese Zeichen selbst haben aber einen Typ, und der ist immer char.
Korrektur: const char meinte ich natürlich
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|