目录
一. 枚举
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];
};
标签:定义,05,union,联合体,int,枚举,共用
From: https://www.cnblogs.com/Deng-S/p/17501302.html