Warum C-Zeichenliterale Ints und keine Zeichen sind
Es ist eine Besonderheit in der Programmiersprache C, dass Zeichenliterale (wie „a“ ) werden als ganze Zahlen und nicht als Zeichen dargestellt (wie in C ). Dieses Verhalten kann für C-Neulinge überraschend sein, da es kontraintuitiv erscheint.
Der Grund für diese Designentscheidung liegt in der Entwicklung von C. In den frühen Tagen von C, seinem Vorgänger K&R C, gab es keine Typförderung als weit verbreitet und es war schwierig, Zeichenwerte zu verwenden, ohne sie zuerst in Ganzzahlen umzuwandeln. Durch die Darstellung von Zeichenliteralen von vornherein als Ganzzahlen konnte dieser zusätzliche Schritt entfallen.
Darüber hinaus unterstützt C Mehrzeichenkonstanten wie „abcd“, deren Darstellung mehr als ein Byte erfordert. Durch die Speicherung von Zeichenliteralen als Ganzzahlen kann C diese längeren Konstanten innerhalb seiner 4-Byte-Ganzzahlgröße unterbringen.
Das obige ist der detaillierte Inhalt vonWarum sind C-Zeichenliterale ganze Zahlen und keine Zeichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!