读书人

if ( *(char *) amp; x == 一) 这句话是什

发布时间: 2012-11-09 10:18:48 作者: rapoo

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

读书人网 >C++

热点推荐