c语言中给b赋值b=0X12345678是什么意思?输出b=%x,为何是78?

日期:2017-05-18 23:13:08 人气:1

c语言中给b赋值b=0X12345678是什么意思?输出b=%x,为何是78?

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
    A+
热门评论