最佳答案
是否有机器(或编译器) ,在哪里 sizeof(char) != 1
?
C99标准是否说 sizeof(char)
在标准遵从性实现上必须正好是1?如果是的话,请给我区号和传票。
更新:
如果我有一台机器(CPU) ,它不能处理字节(最小读取是4字节,对齐) ,但只有4-s 字节(uint32_t
) ,这台机器的编译器能定义 sizeof(char)
到4吗?sizeof(char)
将是1,但 char 将有32位(CHAR_BIT
宏)
更新2: 但是结果的大小不是一个字节!它是 CHAR 的大小。Char 可以是2字节,或者(可能是)7位?
更新3:
好的。所有的机器都有 sizeof(char) == 1
。但是哪些机器有 CHAR_BIT > 8
呢?