Typ vom C string literal wie zB "text"

Gast #747793
Lesenswert?

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
Lesenswert?

> 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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren