|  | 
 
 发表于 2018-10-13 21:55:25
|
显示全部楼层 
| 复制代码#include <stdio.h>
union U
{
        char s[2];
        short i;
};
int main(void)
{
        union U u;
        printf("u: %.8X\n", &u);
        printf("u.s[0]: %.8X\n", &u.s[0]);
        printf("u.s[1]: %.8X\n", &u.s[1]);
        printf("u.i: %.8X\n", &u.i);
        printf("u.i: %.8X\n", sizeof(u.i));
        u.i = 0x1234;
        for(int i = 0; i < 2; ++i)
        {
                unsigned char *p = (unsigned char *)&u;
                printf("%.8X -> %.2X\n", &p[i], p[i]);
        }
        return 0;
}
 复制代码u: 0027FA10
u.s[0]: 0027FA10
u.s[1]: 0027FA11
u.i: 0027FA10
u.i: 00000002
0027FA10 -> 34
0027FA11 -> 12
请按任意键继续. . .
 | 
 评分
查看全部评分
 |