1
0

21-bit-field.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include <stdio.h>
  2. /**
  3. * 结构体 Flags 用于表示三种颜色标志位的状态。
  4. * 每个成员变量占用1位,分别表示红色、绿色和蓝色是否被激活。
  5. */
  6. struct Flags {
  7. unsigned int isRed : 1; // 红色标志位,1表示激活,0表示未激活
  8. unsigned int isGreen : 1; // 绿色标志位,1表示激活,0表示未激活
  9. unsigned int isBlue : 1; // 蓝色标志位,1表示激活,0表示未激活
  10. };
  11. /**
  12. * 主函数:演示如何使用 Flags 结构体设置和读取颜色标志位。
  13. *
  14. * 功能描述:
  15. * 1. 初始化一个 Flags 结构体实例。
  16. * 2. 设置各个颜色标志位的值。
  17. * 3. 打印每个标志位的当前状态。
  18. *
  19. * 返回值:
  20. * - 返回 0 表示程序正常结束。
  21. */
  22. int main() {
  23. struct Flags f; // 声明一个 Flags 结构体变量
  24. f.isRed = 1; // 设置红色标志位为激活状态
  25. f.isGreen = 0; // 设置绿色标志位为未激活状态
  26. f.isBlue = 1; // 设置蓝色标志位为激活状态
  27. // 打印各个颜色标志位的状态
  28. printf("Red: %u\n", f.isRed); // 输出红色标志位的值
  29. printf("Green: %u\n", f.isGreen); // 输出绿色标志位的值
  30. printf("Blue: %u\n", f.isBlue); // 输出蓝色标志位的值
  31. return 0; // 程序正常退出
  32. }