|
发表于 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
- 请按任意键继续. . .
复制代码 |
评分
-
查看全部评分
|