[应用相关] 联合体的用法

[复制链接]
 楼主| xinxianshi 发表于 2021-7-5 16:17 | 显示全部楼层 |阅读模式
  1. #include <stdio.h>
  2. #include <stdlib.h>



  3. //定义结构体类型J
  4. struct J
  5. {
  6.      unsigned int j1:4;
  7.      unsigned int j2:4;
  8.      unsigned int j3:4;
  9.      unsigned int j4:4;
  10. };
  11. //定义联合体变量 bk,里面包含1个变量i和一个结构体类型为J的结构体变量j
  12. union
  13. {
  14.     unsigned int i;
  15.     struct J j;

  16. } bk;



  17. int main()
  18. {
  19.     bk.i=0x1234;
  20.     printf("bk.i=0x%x\n",bk.i);

  21.     printf("bk.j.j1=0x%x\n",bk.j.j1);
  22.     printf("bk.j.j2=0x%x\n",bk.j.j2);
  23.     printf("bk.j.j3=0x%x\n",bk.j.j3);
  24.     printf("bk.j.j4=0x%x\n",bk.j.j4);

  25.     return 0;
  26. }
先给低字节位赋值的
 楼主| xinxianshi 发表于 2021-7-5 16:18 | 显示全部楼层
 楼主| xinxianshi 发表于 2021-7-5 16:20 | 显示全部楼层
输出结果:
  1. bk.i=0x1234
  2. bk.j.j1=0x4
  3. bk.j.j2=0x3
  4. bk.j.j3=0x2
  5. bk.j.j4=0x1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

1019

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部