news 2026/3/2 3:15:50

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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. 枚举常量是遵循作⽤域规则的,枚举声明在函数内,只能在函数内使⽤

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 20:06:37

深度学习毕设项目:基于python-CNN卷积神经网络的鱼类识别

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

作者头像 李华
网站建设 2026/3/1 1:27:36

番茄小说下载器:离线阅读的革命性解决方案

番茄小说下载器&#xff1a;离线阅读的革命性解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 还在为网络信号时断时续而无法畅享阅读乐趣而困扰吗&#xff1f;番茄小说…

作者头像 李华
网站建设 2026/2/28 13:20:33

如何用Zoplicate插件彻底告别文献管理烦恼?

如何用Zoplicate插件彻底告别文献管理烦恼&#xff1f; 【免费下载链接】zoplicate A plugin that does one thing only: Detect and manage duplicate items in Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zoplicate 文献管理最让人头疼的是什么&#xff1f…

作者头像 李华
网站建设 2026/2/28 10:39:36

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

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

作者头像 李华
网站建设 2026/2/25 18:52:01

深度学习毕设项目推荐-基于python-CNN卷积神经网络对海洋壳类生物识别

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

作者头像 李华
网站建设 2026/2/25 21:51:33

2026必备10个降AI率工具,继续教育学生必看

2026必备10个降AI率工具&#xff0c;继续教育学生必看 AI降重工具&#xff1a;让论文更自然&#xff0c;让学术更自信 在当前的学术环境中&#xff0c;随着AI技术的广泛应用&#xff0c;论文的AIGC率问题日益受到关注。无论是继续教育的学生还是科研人员&#xff0c;都面临着如…

作者头像 李华