sizeof和一个字节大于8位?

Lid*_*Guo 2 c bit

  1. 既然sizeof是运算符,为什么我们可以sizeof(something);像函数调用一样使用?

  2. 什么时候字节不是8位?

此上下文中的字节与unsigned char相同,可能大于8位

是否有可能该字节小于8位?

Jer*_*fin 5

像大多数运算符一样,sizeof可以应用于表达式,其中可以包括括号.至于解析器关心,这几乎是相同的,就像这样x * (b + c),在*适用(b + c).虽然你不经常看到它,但类似的东西x + (b)也是完全可能的.

该标准规定CHAR_MIN必须不高于-127并且CHAR_MAX必须至少为127.这需要至少8位来表示,所以不,char不能小于8位.


小智 5

由于sizeof是一个操作者,为什么我们可以使用sizof(某事); 喜欢函数调用?

那么,+是一个"算子"(原文如此!)也仍然可以编写(1 + 1)(1) + (1)((1) + 1)......这只是正常的圆括号/分组.

当字节不是8位?

当您使用不是8位的平台时.

是否有可能该字节小于8位?

不是一个旨在成为符合C的实现的架构.但它可能会发生.例如,一些早期的穿卡机使用6位字节.