unsigned int a=0x1234
unsigned int b=*(unsigned char *)&a
printf("%d",b);
a的四个字节如果按小端存储 低地址--------高地址
34 12 00 00
大端存储 00 00 12 34
下面以小端存储来举例
将&a强制类型转换为unsigned char*后,因为char只占一个字节,所以解引用也只访问一个字节的内容,也就是34对应的字节,输出为%d就是52。
同理,大端存储就输出0.
unsigned int a=0x1234
unsigned int b=*(unsigned char *)&a
printf("%d",b);
a的四个字节如果按小端存储 低地址--------高地址
34 12 00 00
大端存储 00 00 12 34
下面以小端存储来举例
将&a强制类型转换为unsigned char*后,因为char只占一个字节,所以解引用也只访问一个字节的内容,也就是34对应的字节,输出为%d就是52。
同理,大端存储就输出0.