c语言中给b赋值b=0X12345678是什么意思?输出b=%x,为何是78?
c语言中给b赋值b=0X12345678是什么意思?输出b=%x,为何是78?
日期:2017-05-18 23:13:08 人气:1
0x12345678
这个是16进制的表示方法
转换成2进制:
1 0010 0011 0100 0101 0110 0111 1000
union {int a; long b; unsigned char c; } m;
由于m是个联合结构
所以整个结构在内存中占一个long这么大的空间(在vc6.0中是32位二进制,现在应该是占64位),同时三个元素a,b,c共用这段内存
好了,
由于
m.b = 0x12345678;
所以,赋值后这段内存空间内的值就为:
0001 001