文章目录
- 🍊联合体
- 🍊枚举类型
你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~
🍊联合体
1、概述
联合体该结构体的定义形式类似,但是它是所有的成员共享同一块内存空间。共用最大的一块内存。
2、定义方式
union 共用体名
{
类型 成员1;
类型 成员2;
.....
};
例如:
union stu
{
char a;
int b;
short c;
};
union stu s1;
printf("len : %d\n",sizeof(s1));//4
内存占用形式:
🍊枚举类型
1、简介
一种事物代表的多种可能的值,我们把这些值全部列出来使用,就是枚举。
2、定义形式
enum 枚举名
{
常量名1,
常量名2,
常量名3
};
注意:
(1) 枚举中的元素都是常量
(2)若是枚举元素没有赋值,第一个元素默认为0,后面元素依次+1
(3)枚举是一种类型,可以定义变量
【
C标准规定:枚举类型的变量智能赋值为枚举元素的值
大部分编译器(如gcc),对枚举类型做了扩充,允许给枚举类型变量赋值为任意的整型值
】
例如:
enum COLOR
{
red = 1,
greed = 2,
yellow,
blue,
black
};
enum COLOR CR;//定义了一个变量CR
3、代码演示:
#include <stdio.h>
enum DAY
{
MON = 1,
TUE,
WED,
THU,
FRI,
SAT,
SUM
};
int main()
{
enum DAY today = THU;
//gcc 对枚举进行了扩展,可以使用非enum中的任何值。
today = 9;
printf("today = %d\n",today);
int date = 0;
printf("please input you want check date: \n");
scanf("%d",&date);
switch(date)
{
case MON;
printf("today is MON\n");
break;
case THU;
printf("today is THU\n");
break;
case WED;
printf("today is WED\n");
break;
case THU;
printf("today is THU\n");
break;
case FRI;
printf("today is FRI\n");
break;
case STA;
printf("today is STA\n");
break;
case SUM;
printf("today is SUM\n");
break;
}
return 0;
}
输出结果展示:
输入: 1 | 2 | 3 | 4 | 5 | 6 | 7
输出:today is MON|today is TUE|today is WED|today is THE|today is FRI|today is STA|today is SAM