05-枚举和共用体

一. 枚举

1.1 枚举的定义和优点

  • 枚举定义的值是常量, 可以被初始化一次, 如果没有手动初始化, 系统会将第一个常量自动初始化为0, 往后每个常量在前一个基础上 + 1
  • 枚举对比宏定义更加严谨有类型检查, 并且可以增加代码的可维护性.
#include <stdio.h>

enum Color
{
	read,
	blue,
	yellow = 9,
	green          //10
};
int main()
{
	enum Color c = blue;  //注意这里要写blue 不能写9, 虽然C中语法是允许的, 但是不符合语义. 在Cpp中会被检测出错误
	
	printf("%d, %d, %d, %d", read, c, yellow, green); // 0, 1, 9, 10
	return 0;
}

二. 联合体(共用体)

2.1 联合体定义

  • 联合体的内存大小最少是最大成员所占内存空间大小. (内存应是成员最大对齐数的整数倍.)
  • 联合体成员不能同时使用
 union Un
{
  char c;
  int i; // sizeof(union Un) --> 4
};

union 
{
  char c;
  int i;
}u; //匿名方式定义, 通常定义在函数内部.

2.2 共用体内存大小计算

  • sizeof(union Un) = 8
union Un
{
  int a;
  char arr[5]; 
};
posted @   一步一磕头的菜鸡  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示