好吧,我正在通过Mozilla Javascript参考,发现...
isNaN(1 + null) //false
isNaN(1 + undefined) //true
Run Code Online (Sandbox Code Playgroud)
我无法理解这背后的原因.
struct x
{
char b;
short s;
char bb;
};
int main()
{
printf("%d",sizeof(struct x));
}
Run Code Online (Sandbox Code Playgroud)
输出为:6
我在32位编译器上运行此代码.输出应该是8个字节.
我的解释 - > 1. Char需要1个字节,下一个short需要2的倍数,所以short创建1的填充并占用2个字节,这里已经分配了4个字节.现在唯一的左边的char成员需要1个字节但是因为内存分配是4的倍数所以总内存给出的是8个字节.