C 標準における bool の実装定義のサイズ
C 言語標準では、char、signed char などの基本型のサイズが明示的に規定されていますが、 、および unsigned char はそれぞれ 1 バイトであるため、sizeof(bool) の定義は実装者に任されます。
標準は、§5.3.3/1 でこの曖昧さを強調しています:
sizeof(char), sizeof(signed char) and sizeof(unsigned char) are 1; the result of sizeof applied to any other fundamental type is implementation-defined.
これは、bool のサイズが 1 バイトであることが保証されていないことを意味し、標準には脚注 (69) は次のことを明示的に示しています:
sizeof(bool) is not required to be 1.
したがって、実装は次の基準に基づいて bool のサイズを決定する可能性があります。アーキテクチャやプラットフォームの制約などのさまざまな要因。その結果、sizeof(bool) はコンパイラやシステムによって異なる可能性があります。
以上がC の `bool` のサイズは何によって決まりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。