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

news2024/11/29 22:54:41

文章目录

  • 🍊联合体
  • 🍊枚举类型


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


🍊联合体

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息安全保证人员CISAW:安全集成

信息安全保障人员认证(CISAW)在安全集成领域的认证&#xff0c;主要针对申请者在信息系统安全集成的知识和理论以及项目实施中的综合应用能力进行全面评估。 这一认证特别强调对申请者在安全集成方面的知识深度和利用这些知识分析、解决实际问题的能力的评价。 此外&#xff…

python初级爬虫实战:我是怎么用python下载音乐的

今天分享的内容是如何使用python下载歌曲和歌词信息&#xff0c;文章涉及内容主要为了帮助大家学习python技能&#xff0c;请大家合规合理使用。 如果你正在学习Python爬虫&#xff0c;但是找不到方向的话可以试试我这一份学习方法和籽料呀&#xff01;点击 领取&#xff08;不…

北斗对我们普通人的生活有什么影响?

自北斗卫星导航系统&#xff08;BDS&#xff09;全面覆盖全球以来&#xff0c;北斗导航在我们日常生活中的重要性与日俱增。本文将详细探讨北斗导航系统如何从方方面面改变我们普通人的生活。 1. 精准定位&#xff1a;现代生活的基石北斗系统最显而易见的影响体现在精准定位和导…

Linux:进程的概念,进程相关函数

一、进程的概念 1.进程 进程是系统进行资源分配和调度的一个独立单元&#xff0c;它是操作系统结构的基础。进程是程序的一次执行过程&#xff0c;包含了程序代码、当前活动、系统资源&#xff08;如CPU、内存、文件等&#xff09;的使用情况等信息。每个进程都有自己独立的内…

2024最强CSS基础知识大全(含代码)

CSS 什么是 CSS CSS(Cascading Style Sheets) 指层叠样式表&#xff0c;样式定义如何显示 HTML 的样式&#xff0c;样式通常存储在样式表中&#xff0c;把样式添加到 HTML5 中&#xff0c;是为了解决内容与表现分离的问题&#xff0c;外部样式表可以极大提高工作效率&#xf…

三勾点餐系统|支持多端发布,方便二次开发

版本号1.7更新日志 新增&#xff1a;腾讯地图key设置&#xff08;更新后请设置key&#xff09; 新增&#xff1a;支付宝小程序登录和支付 新增&#xff1a;前端点餐时选择门店 新增&#xff1a;前端点餐页面优惠活动显示 新增&#xff1a;H5修改手机号 新增&#xff1a;H…

conda不是内部或外部命令

conda不是内部或外部命令 是anaconda环境变量没有添加到系统环境变量 解决办法 找到anaconda安装目录&#xff0c;添加以下系统环境变量 注意事项 pycharm在选择anaconda创建虚拟环境时&#xff0c;使用的是_conda.exe

2000-2023年逐年最大NDVI数据集(500m)

植被指数&#xff08;NDVI, Normalized Difference Vegetation Index&#xff09;可以准确反映地表植被覆盖状况。目前&#xff0c;NDVI时序数据已经在各尺度区域的植被动态变化监测、土地利用/覆被变化检测、宏观植被覆盖分类和净初级生产力估算等研究中得到了广泛的应用。 中…

YOLO入门教程(二)——OpenVINO™部署YOLO模型与异步推理实现150FPS+实时检测【含教程源码 + 环境配置】

目录 引言前期准备Step1 pt格式转onnx格式Step2 创建工程文件并安装NuGet PackageStep3 预处理API部署YOLO模型Step4 前处理推理后处理Step5 异步推理参考博客 引言 YOLO&#xff08;You Only Look Once&#xff09;作为一个目标检测算法&#xff0c;其调用的接口为Python语言…

架空防静电地板的贴面面层有哪些

很多机房装修都会用到架空防静电地板&#xff0c;架空防静电地板由贴面、基材、支架横梁系统组成&#xff0c;那么架空防静电地板的贴面都有哪些呢&#xff1f;一起来看看~ 防静电地板常用贴面面层有3种: 1、PVC防静电贴面面层;2、HPL防静电贴面面层;3、瓷砖防静电贴面面层 1、…

《治疗前磁共振成像显示的结直肠癌患者的结外扩展及其预后价值》| 文献速递-基于深度学习的癌症风险预测与疾病预后应用

Title 题目 Extranodal Extension at Pretreatment MRI and the Prognostic Value for Patients with Rectal Cancer 《治疗前磁共振成像显示的结直肠癌患者的结外扩展及其预后价值》 Background 背景 Detection of extranodal extension (ENE) at pathology is a poor pr…

什么是ERP,ERP系统主要包括哪些功能?

ERP的定义 ERP&#xff0c;全称 Enterprise Resource Planning 即企业资源计划。是一种集成化的管理软件系统&#xff0c;它通过信息技术手段&#xff0c;将企业的各个业务流程和资源管理进行整合&#xff0c;以提高企业的运营效率和管理水平。 ERP的核心价值在于“开源节流”…

linux 中docker git 容器磁盘占满如何解决

1.问题描述 git之前还使用ok&#xff0c;突然出现访问500 错误&#xff0c;懵圈了 2.问题排查 1. 服务器查看&#xff0c;服务正常&#xff0c;没有异常出现。 2. 查找资料&#xff0c;需要查看是否磁盘已经满了果然使用df-h 后显示磁盘已经满了&#xff0c;且容器和本地都…

Java异常捕获与处理:深入理解与实践

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

ATGM332D-F8S:高集成度单北斗多频车载航位推算模块规格书

车载航位 推算 模块 描述 &#xff1a; 是一种在车载导航系统中广泛应用的自主导航算法模块&#xff0c;主要用于弥补GPS或GNSS&#xff08;全球导航卫星系统&#xff09;在信号遮蔽环境下的定位不足。 车载航位推算模块通过收集来自车辆上各种传感器&#xff08;如陀螺仪传感器…

【JAVA入门】Day24 - 排序算法

【JAVA入门】Day24 - 排序算法 文章目录 【JAVA入门】Day24 - 排序算法一、冒泡排序二、选择排序三、插入排序四、快速排序4.1 递归4.2 快速排序 排序&#xff0c;是把混乱的数据排成从小到大或从大到小。 排序一共有十种左右&#xff0c;它们是&#xff1a;冒泡排序、…

Salesforce 发布开源大模型 xGen-MM

xGen-MM 论文 在当今 AI 技术飞速发展的时代&#xff0c;一个新的多模态 AI 模型悄然崛起&#xff0c;引起了业界的广泛关注。这个由 Salesforce 推出的开源模型—— xGen-MM&#xff0c;正以其惊人的全能特性和独特优势&#xff0c;在 AI 领域掀起一阵旋风。那么&#xff0c;x…

书生大模型(第3期)基础岛第5关--XTuner 微调个人小助手认知

XTuner微调前置基础 1 基本概念 在进行微调之前&#xff0c;我们需要了解一些基本概念。 1.1 Finetune简介 微调&#xff08;fine-tuning&#xff09;是一种基于预训练模型&#xff0c;通过少量的调整&#xff08;fine-tune&#xff09;来适应新的任务或数据的方法。 微调…

VUE3 无法修改 el-dialog 样式

用下面这种方式修改 el-dialog 组件样式一点作用都没有&#xff0c;正常用这种方式修改 el 的el-button、tab等都是百试不爽的。最后找到解决办法和原因。在el-dialog外面套一层div /deep/ .el-dialog { background: url(https://lanhu-oss.lanhuapp.com/7cbd761cd26f7b255086…

Cesium for Unreal——第四节 Transition Between Locations on the Globe 在两个位置间平稳飞行

文章目录 1. 创建或打开上次的项目2. 蓝图3. 构建一个新的关卡 Globel Level,添加墨尔本地形数据4. 选择蓝图文章参考与Cesium官网 Transition Between Locations on the Globe 1. 创建或打开上次的项目 学习之前,需要先安装——创建项目——运行 UE ,点击跳转 2. 蓝图 蓝图…