Der Typ des String-Literals "Hello"
ist "Array von 6 const
char
".
Gewöhnliche Zeichenfolgenliterale und UTF-8-Zeichenfolgenliterale werden auch als Zeichenfolgenliterale bezeichnet. Ein Narrow-String-Literal hat den Typ "Array von n
istconst char
", wobei n die Größe der Zeichenfolge [...]
Es kann jedoch durch eine Array-to-Pointer-Konvertierung in ein const char*
konvertiert werden. Die Umwandlung von Array zu Zeiger führt zu einem Zeiger auf das erste Element des Arrays.
Der Standard definiert es als "Array von n const char
", also ist es const char[n]
(n ist die Größe der Zeichenkette, einschließlich des abschließenden NUL-Bytes).
Abschnitt 7, § 2.14.15:
Ein Narrow-String-Literal hat den Typ "array of n const char", wobei n die Größe der Zeichenfolge, wie unten definiert, und die statische Speicherdauer hat.