C语言中的联合体和枚举类型

文章目录

  • 🍊联合体
  • 🍊枚举类型


你的点赞评论就是对博主最大的鼓励
当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~


🍊联合体

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


  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值