if ( *(char *) & x == 1) 这句话是什么意思?
int x = 1;
if ( *(char *) & x == 1)
*(char *) 的操作对象是谁呀?
[解决办法]
x的地址啊
[解决办法]
*(char *)&x
先将x的地址(int类型)转换为char *
再取这个(char *)地址里的内容*(char *)&x,判断里面的值是否等于1.
操作对象是 整型数地址 &x
eg: 如果x的地址为 2000 2001 2002 2003 这四个单元
则 *(char *)&x 相当于地址 2000里面的内容.
[解决办法]
取x的地址转成char指针
[解决办法]
检查x的第一字节是不是0000 0001