C の sizeof はコンパイルまたはランタイムに依存しますか?
C の sizeof 演算子は、その名前が示すように、次のサイズを返します。データ型または変数。ただし、よくある誤解は、このサイズがコンパイル時と実行時に決定されるかどうかです。
説明
誤解に反して、sizeof はコンパイル時に評価されます。これは、ソース コードを分析し、コンパイラの設定と実行されているマシンに基づいてデータ型または変数のサイズを決定することを意味します。結果は、プログラムの実行全体で使用される定数値です。
たとえば、次のコード スニペットを考えてみましょう。
<code class="c++">sizeof(short int)</code>
このコードは、マシンに関係なく、定数値として評価されます。プログラムが実行される場所。これは、プログラムを実行しているマシン上の基礎となるデータ型のサイズには依存しません。
結論
要約すると、C の sizeof はコンパイル時の演算子です。コンパイル時のコンパイラの設定に基づいてデータ型または変数のサイズを計算します。結果は、ランタイム環境に関係なく、プログラムの実行全体を通じて使用される固定値です。
以上がC の「sizeof」はコンパイル時または実行時に評価されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。