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中文网其他相关文章!