Umwandeln von Ganzzahlen in kurze Literale in C
In C bezeichnet das Schreiben von Ganzzahlliteralen in bestimmten Formaten ihre Datentypen. Das Schreiben eines kurzen Literals kann jedoch verwirrend erscheinen.
Frage: Kurzliterale implementieren
Wie kann ein kurzes Literal in C geschrieben werden? Vorhandenes Wissen umfasst:
Antwort: Umwandlung einer Ganzzahl
Obwohl es kein direktes Short-Literal-Format gibt, liefert die Umwandlung einer Ganzzahl in Short das gewünschte Verhalten:
<code class="cpp">((short)2)</code>
Verhalten des Castings
Obwohl es sich nicht um ein Literal handelt , stellt die Umwandlung ein ähnliches Verhalten sicher, indem sie die Ganzzahl auf einen Short-Wert zwingt, ohne explizit zusätzlichen Speicher zuzuweisen oder unnötige Konvertierungen durchzuführen.
Disassembly-Beispiel
Bedenken Sie den folgenden Code:
<code class="cpp">a = 2L; b = 2.0; c = (short)2; d = '';</code>
Das Kompilieren und Disassemblieren dieses Codes führt zu:
movl , _a movl , _b movl , _c movl , _d
Dies zeigt, dass der Compiler den Code optimiert und 2 in allen Variablen speichert, unabhängig von ihren deklarierten Typen.
Das obige ist der detaillierte Inhalt vonWie implementiert man kurze Literale in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!