Heim > Backend-Entwicklung > C++ > Wird die Größe des Operators in C zur Kompilierungszeit oder zur Laufzeit ausgewertet?

Wird die Größe des Operators in C zur Kompilierungszeit oder zur Laufzeit ausgewertet?

DDD
Freigeben: 2024-11-03 21:00:29
Original
460 Leute haben es durchsucht

Does the sizeof Operator in C   Evaluate at Compile Time or Run Time?

Hängt die Auswertungszeit des Operators „sizeof“ in C von der Maschine ab?

Der Operator „sizeof“ in C berechnet die Größe eines Datentyps oder Variable, aber hängt das Ergebnis von der Maschine ab, auf der der Code kompiliert oder die ausführbare Datei ausgeführt wird?

Auswertungszeit von sizeof

Die Antwort darauf Frage ist nein. Im Gegensatz zu einigen anderen Operatoren erfolgt die Auswertung von sizeof zur Kompilierungszeit. Das bedeutet, dass der Compiler die Größe des Datentyps oder der Variablen bestimmt, wenn das Programm kompiliert wird, nicht wenn es ausgeführt wird.

Betrachten Sie beispielsweise den folgenden Codeausschnitt:

<code class="cpp">sizeof(short int)</code>
Nach dem Login kopieren

Das Ergebnis dieses Code-Snippets ist dasselbe, unabhängig davon, auf welchem ​​Computer es kompiliert oder die ausführbare Datei ausgeführt wird. Dies liegt daran, dass der Compiler während der Kompilierung die Größe des Datentyps short int bestimmt, die normalerweise 2 Byte beträgt. Die ausführbare Datei enthält lediglich diese Informationen, und die tatsächliche Größe von short int auf dem Computer, auf dem das Programm ausgeführt wird, hat keinen Einfluss auf das Ergebnis.

Daher wird die Auswertungszeit des sizeof-Operators in C bestimmt Kompilierzeit, nicht zur Laufzeit.

Das obige ist der detaillierte Inhalt vonWird die Größe des Operators in C zur Kompilierungszeit oder zur Laufzeit ausgewertet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage