既然sizeof是运算符,为什么我们可以sizeof(something);像函数调用一样使用?
什么时候字节不是8位?
此上下文中的字节与unsigned char相同,可能大于8位
是否有可能该字节小于8位?
像大多数运算符一样,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位字节.