Erklärung der Größe von String-Literalen
Das bereitgestellte Code-Snippet hebt das Verhalten des Operators „Sizeof“ bei verschiedenen String-Literalen hervor. Lassen Sie uns in die Antworten auf die aufgeworfenen Fragen eintauchen.
Der Operator sizeof berechnet die Größe in Bytes, die von einem bestimmten Ausdruck belegt wird. Für ein String-Literal wird die Anzahl der Zeichen zurückgegeben, einschließlich des abschließenden Zeichens „“, das das Ende des Strings markiert. In diesem Fall besteht „f“ aus zwei Zeichen ('f' und ' '), daher gibt sizeof("f") 2 zurück.
Nein, das String-Literal hat keinen anderen Typ, wenn es an sizeof übergeben wird. Es behält seinen Typ als Array konstanter Zeichen bei. Es ist jedoch wichtig zu beachten, dass ein String-Literal, wenn es an eine Funktion übergeben oder in einem Ausdruck verwendet wird, der einen Zeiger erwartet, automatisch in einen Zeichenzeiger zerfällt. Aber wenn es an sizeof übergeben wird, behält es seinen ursprünglichen Typ als Array von Zeichen bei.
In diesem Beispiel:
Das obige ist der detaillierte Inhalt vonWie geht „sizeof' mit String-Literalen in C/C um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!