自定义类型:联合与枚举(二)
一、联合体大小的计算1.1.计算规则1.1.1联合的大小至少是最大成员的大小。1.1.2当最大成员大小不是最大对齐数的整数倍的时候就要对齐到最大对齐数的整数倍。1.2.联合的一个练习写一个程序判断当前机器是大端还是小端代码如下可自行测试#includestdio.hint check_sys() {union Un {//联合类型的声明char c;int i;}un;un.i 1;return un.c;}int main() {int ret check_sys();printf(%d\n, ret);return 0;}二、枚举类型2.1.枚举类型的声明枚举顾名思义就是一一列举枚举类型enum是 C 语言中用于定义一组具名整型常量的类型enum Day {//星期Mon,Tues,Wed,Thur,Fri,Sat,Sun,};上面定义的enum Day 是枚举类型{}中的内容是枚举类型的可能取值也叫枚举常量。这些可能取值都是有值的默认从0开始依次递增1当然在声明枚举类型的时候也可以赋初值。2.2.枚举类型的优点2.2.1.增加代码的可读性和可维护性2.2.2.和#define定义的标识符比较枚举有类型检查更加严谨2.2.3.便于调试2.2.4.使用方便一次可以定义多个变量2.2.5.枚举常量是遵循作用域规则的枚举声明在函数内只能在函数内使用。2.3.枚举类型的使用枚举类型通过具名常量替代魔法数字让代码更清晰、安全、易维护适用于状态、选项、错误码等离散值场景。

相关新闻

自定义类型:联合和枚举(一)

自定义类型:联合和枚举(一)

一、联合体1.1.联合体类型的说明像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以是不同的类型。但是编译器只为最大的成员分配足够的内存空间,联合体的特点是所有成员共用一块内存空间所以联合体也叫做:共用体给联合…

2026/7/4 9:56:04 阅读更多 →
给app添加一个专门放鞭炮白噪音页面

给app添加一个专门放鞭炮白噪音页面

设置5-10个可以选择的鞭炮白噪音

2026/7/5 22:31:55 阅读更多 →
亲测好用!冠绝行业的AI论文写作软件 —— 千笔·专业学术智能体

亲测好用!冠绝行业的AI论文写作软件 —— 千笔·专业学术智能体

你是否曾为论文选题而焦虑不已?是否在深夜里对着空白文档无从下笔?是否反复修改却仍对表达不满意?MBA学生在撰写论文时,常常面临选题难、框架乱、查重高、格式错等多重困境。而千笔AI,正是为解决这些痛点而生的智能写作…

2026/5/17 4:56:37 阅读更多 →

最新新闻

Unity MyFramework:框架里的代码简化技巧(三)

Unity MyFramework:框架里的代码简化技巧(三)

前两篇写了 MyFramework 里一些常用的代码简化技巧。 这一篇继续写第三组。 不过这次只写真正能让调用侧代码变短的东西。 也就是一眼能看到: 原本要写几行,现在一行就能表达清楚。 这类工具不是复杂系统。 它们更多是项目长期开发中沉淀出来的小函…

2026/7/6 13:03:49 阅读更多 →
终极指南:用DistroAV实现专业NDI网络音视频传输的完整方案

终极指南:用DistroAV实现专业NDI网络音视频传输的完整方案

终极指南:用DistroAV实现专业NDI网络音视频传输的完整方案 【免费下载链接】obs-ndi DistroAV (formerly OBS-NDI): NDI integration for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-ndi DistroAV(原名OBS-NDI)是一…

2026/7/6 13:03:49 阅读更多 →
AD 23 与 AutoCAD 2024 协同:DXF 板框导入的 5 项预处理与 1 个精度保障技巧

AD 23 与 AutoCAD 2024 协同:DXF 板框导入的 5 项预处理与 1 个精度保障技巧

AD 23与AutoCAD 2024高效协同:DXF板框导入的预处理全流程与精度控制实战在硬件开发领域,PCB工程师与结构工程师的协同效率直接影响产品开发周期。当结构工程师使用AutoCAD 2024完成机箱设计后,如何确保其提供的DXF文件能够精准导入Altium Des…

2026/7/6 12:57:42 阅读更多 →
测试转大模型:AI 测试工程师的能力跃迁,把学习路线落到项目证据

测试转大模型:AI 测试工程师的能力跃迁,把学习路线落到项目证据

《测试转大模型:AI 测试工程师的能力跃迁,把学习路线落到项目证据》看起来是个大话题,但真落到项目里,常常就是几个具体选择。下面我尽量按实际开发时会遇到的问题来讲。摘要这篇面向想进入 AI 测试和质量工程方向的软件测试工程师…

2026/7/6 12:55:41 阅读更多 →
Blender贝塞尔曲线插件终极指南:10个技巧让你的3D设计效率翻倍

Blender贝塞尔曲线插件终极指南:10个技巧让你的3D设计效率翻倍

Blender贝塞尔曲线插件终极指南:10个技巧让你的3D设计效率翻倍 【免费下载链接】blenderbezierutils Blender Add-on with Bezier Utility Ops 项目地址: https://gitcode.com/gh_mirrors/bl/blenderbezierutils 你是否曾经在Blender中为绘制复杂的贝塞尔曲线…

2026/7/6 12:55:41 阅读更多 →
SeetaFace6实战:从零构建C# WinForm人脸多属性检测系统

SeetaFace6实战:从零构建C# WinForm人脸多属性检测系统

1. 环境准备与SDK集成在开始构建人脸多属性检测系统之前,我们需要准备好开发环境。首先确保你的Windows系统是64位版本(Win7及以上),并安装Visual Studio 2019或更高版本。我推荐使用.NET Framework 4.7.2以上版本,这是…

2026/7/6 12:53:38 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻