指针类型的转换,该怎么解决
指针类型的转换
运行结果:
问题就是关于*b的,b是一个指向char型的指针,将&a解释成(char*)的类型,从而*b也就是a的最高位的那个字节,所以我感觉*b结果应该是0x000000ff,那里错了?
------解决方案--------------------
------解决方案--------------------
- C/C++ code
#include <stdio.h> int main(void) { unsigned int a = 0xfffffff7; unsigned char i = (unsigned char)a; char * b = (char *)&a; printf("%08x\n%08x\n", i, *b); return 0; }
运行结果:
- C/C++ code
i = 000000f7 *b = fffffff7
问题就是关于*b的,b是一个指向char型的指针,将&a解释成(char*)的类型,从而*b也就是a的最高位的那个字节,所以我感觉*b结果应该是0x000000ff,那里错了?
------解决方案--------------------
------解决方案--------------------