C语言--自定义类型(联合和枚举)

1.联合体

a.联合体类型的声明

像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。 但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所 以联合体也叫:共⽤体。 给联合体其中⼀个成员赋值,其他成员的值也跟着变化。

#include <stdio.h> //联合类型的声明 union Un { char c; int i; }; int main() { //联合变量的定义 union Un un = {0}; //计算连个变量的⼤⼩ printf("%d\n", sizeof(un)); return 0; }

输出为4;

b.联合体的特点

联合的成员是共⽤同⼀块内存空间的,这样⼀个联合变量的⼤⼩,⾄少是最⼤成员的⼤⼩(因为联合 ⾄少得有能⼒保存最⼤的那个成员)

c.联合体大小计算

联合的⼤⼩⾄少是最⼤成员的⼤⼩。

当最⼤成员⼤⼩不是最⼤对⻬数的整数倍的时候,就要对⻬到最⼤对⻬数的整数倍。

#include <stdio.h> union Un1 { char c[5]; int i; }; union Un2 { short c[7]; int i; }; int main() { //下⾯输出的结果是什么? printf("%d\n", sizeof(union Un1)); printf("%d\n", sizeof(union Un2)); return 0; }

输出为8和16;

d.判断大小端

int check_sys() { union { int i; char c; }un; un.i = 1; return un.c;//返回1是⼩端,返回0是⼤端 }

2.枚举

enum Day//星期 { Mon, Tues, Wed, Thur, Fri, Sat, Sun };

这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值

枚举的优点: 1. 增加代码的可读性和可维护性

2. 和#define定义的标识符⽐较枚举有类型检查,更加严谨。

3. 便于调试,预处理阶段会删除 #define 定义的符号

4. 使⽤⽅便,⼀次可以定义多个常量 5. 枚举常量是遵循作⽤域规则的,枚举声明在函数内,只能在函数内使⽤

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

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

相关文章

导师推荐8个AI论文平台,自考学生轻松搞定毕业论文!

导师推荐8个AI论文平台&#xff0c;自考学生轻松搞定毕业论文&#xff01; AI 工具如何助力自考学生轻松应对论文难题 在当前的学术环境中&#xff0c;越来越多的学生开始借助 AI 工具来辅助论文写作。尤其是在自考领域&#xff0c;许多学生面临着时间紧张、资料不足、写作技巧…

国企“高级”程序员写的那些问题代码

前言我是[提前退休的java猿]&#xff0c;一名7年java开发经验的开发组长&#xff0c;分享工作中的各种问题&#xff01;&#x1f474;我们公司都是只招 “高级java开发”&#xff0c;每个开发必须具备独立主导项目研发的能力&#xff0c;需要需求评审、技术调研、技术方案选型&…

FramePack智能视频创作:从静态图像到动态动画的完整工作流

FramePack智能视频创作&#xff1a;从静态图像到动态动画的完整工作流 【免费下载链接】FramePack 高效压缩打包视频帧的工具&#xff0c;优化存储与传输效率 项目地址: https://gitcode.com/gh_mirrors/fr/FramePack 想要将普通照片变成生动的视频内容吗&#xff1f;Fr…

XGBoost完整安装配置指南:从入门到精通

XGBoost完整安装配置指南&#xff1a;从入门到精通 【免费下载链接】xgboost dmlc/xgboost: 是一个高效的的机器学习算法库&#xff0c;基于 C 开发&#xff0c;提供用于提升分类、回归、排序等任务的性能。 项目地址: https://gitcode.com/gh_mirrors/xg/xgboost XGBoo…

【Windows 文件系统管理工具】实用工具之XYplorer 完全指南:专业级文件系统管理的终极解决方案

前言&#xff1a; 在信息爆炸的数字化工作时代&#xff0c;高效、智能的文件管理已成为提升工作效率的核心竞争力。传统的 Windows 资源管理器虽然满足了基础需求&#xff0c;但在面对复杂的文件操作、多项目并行管理和高级搜索场景时&#xff0c;其功能局限日益凸显。今天为您…

计算机深度学习毕设实战-基于python-CNN卷积神经网络对猫是否疲劳识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

番茄小说下载器:打造离线阅读的终极解决方案

番茄小说下载器&#xff1a;打造离线阅读的终极解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 还在为网络信号不稳定而无法畅读小说烦恼吗&#xff1f;番茄小说下载器…

Scarab空洞骑士模组管理器:5分钟快速上手指南

Scarab空洞骑士模组管理器&#xff1a;5分钟快速上手指南 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为空洞骑士模组安装的繁琐流程而头疼吗&#xff1f;Scarab空洞骑…

深度学习毕设选题推荐:基于python-CNN卷积神经网络对猫是否疲劳识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

番茄小说下载器:3步搞定离线阅读的终极方案

番茄小说下载器&#xff1a;3步搞定离线阅读的终极方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 还在为网络信号不好而错过精彩小说情节烦恼吗&#xff1f;番茄小说下载…

【计算机毕业设计案例】基于python-CNN卷积神经网络对猫是否疲劳识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

番茄小说下载器:简单三步打造离线图书馆的终极方案

番茄小说下载器&#xff1a;简单三步打造离线图书馆的终极方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 还在为网络不稳定错过精彩小说情节而懊恼吗&#xff1f;番茄小说…

Zoplicate插件完整指南:彻底告别Zotero重复条目困扰

Zoplicate插件完整指南&#xff1a;彻底告别Zotero重复条目困扰 【免费下载链接】zoplicate A plugin that does one thing only: Detect and manage duplicate items in Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zoplicate 作为一名Zotero用户&#xff0c…

深度学习计算机毕设之基于python-CNN卷积神经网络对猫是否疲劳识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

深度学习毕设选题推荐:基于python-CNN卷积神经网络的鱼类识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Windows系统瘦身终极指南:告别卡顿与臃肿

Windows系统瘦身终极指南&#xff1a;告别卡顿与臃肿 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改以简化和改善你的Windo…

深度学习计算机毕设之基于python-深度学习的混凝土马路和泥地马路识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围::小程序、SpringBoot、SSM、JSP、Vue、PHP、Java、pyth…

Infinigen完全指南:从零开始构建程序化虚拟世界

Infinigen完全指南&#xff1a;从零开始构建程序化虚拟世界 【免费下载链接】infinigen Infinite Photorealistic Worlds using Procedural Generation 项目地址: https://gitcode.com/gh_mirrors/in/infinigen 想要探索程序化生成的无限可能吗&#xff1f;Infinigen这个…

彼得林奇对公司研发效率与专利质量关系的分析

彼得林奇对公司研发效率与专利质量关系的分析 关键词:彼得林奇、研发效率、专利质量、公司分析、投资决策 摘要:本文深入探讨了彼得林奇对于公司研发效率与专利质量关系的分析。彼得林奇作为投资界的传奇人物,其投资理念对分析公司价值有着重要指导意义。通过研究公司研发效…

Win11Debloat:一键清理Windows冗余,让你的电脑重获新生

Win11Debloat&#xff1a;一键清理Windows冗余&#xff0c;让你的电脑重获新生 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更…