ホームページ >バックエンド開発 >C++ >C の `bool` のサイズは何によって決まりますか?

C の `bool` のサイズは何によって決まりますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-18 19:10:17163ブラウズ

What Determines the Size of a `bool` in C  ?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。