当前位置: 首页 > ds >正文

自定义类型:联合和枚举

自定义类型:联合和枚举

  • 联合体
    • 联合体的声明
    • 联合体大小的计算
      • 联合体节省空间
    • 联合的一个练习
  • 枚举类型
    • 枚举类型的优点
    • 枚举类型的使用

在这里插入图片描述

联合体

联合体的声明

在这里插入图片描述

#include<stdio.h>
union un
{char c;//1int i;//4
};
int main()
{printf("%zd\n", sizeof(union un));//4return 0;
}

为什么是4?
因为联合体只为最大的成员分配足够的内存空间
在这里插入图片描述
c和i共用一块空间,没有独立的空间

联合体大小的计算

在这里插入图片描述
在这里插入图片描述
为什么不是最大的5呢?
因为至少是5
在这里插入图片描述
发现最少是4的倍数 所以是8

联合体节省空间

在这里插入图片描述
在这里插入图片描述

这样子写起来比较浪费内存,可以修改
在这里插入图片描述

联合的一个练习

判断当前的机械是大端还是小端
在这里插入图片描述
这个之前分辨大小端的。

#include<stdio.h>
union un
{ char c;int i;
};
int main()
{union un un1;un1.i = 1;if (un1.c == 1)printf("小端\n");elseprintf("大端\n");return 0;
}

枚举类型

在这里插入图片描述
代码实现:
在这里插入图片描述

枚举类型的优点

在这里插入图片描述

枚举类型的使用

在这里插入图片描述

http://www.xdnf.cn/news/7902.html

相关文章:

  • 代码管理平台Gitlab如何通过快解析实现远程访问?
  • Ulisses Braga-Neto《模式识别和机器学习基础》
  • LangChain4j入门AI(七)Function Calling整合实际业务
  • 龙虎榜——20250521
  • 【图像大模型】基于深度对抗网络的图像超分辨率重建技术ESRGAN深度解析
  • 【android bluetooth 协议分析 02】【bluetooth hal 层详解 3】【高通蓝牙hal主要流程介绍-上】
  • 最新版Chrome浏览器调用ActiveX控件技术——alWebPlugin中间件V2.0.42版发布
  • 数据结构(4)线性表-链表-双链表
  • springboot3+vue3融合项目实战-大事件文章管理系统-自定义校验
  • 实现一个带有授权码和使用时间限制的Spring Boot项目
  • Unity异步加载image的材质后,未正确显示的问题
  • 系统设计应优先考虑数据流还是控制流?为什么优先考虑数据流?数据流为主、控制流为辅的架构原则是什么?控制流优先会导致哪些问题?
  • 【图数据库】--Neo4j 安装
  • 【单片机】如何产生负电压?
  • 基于STM32的骑行语音播报系统
  • 垃圾回收(GC)基础原理全面解析
  • Spark大数据分与实践笔记(第五章 HBase分布式数据库-02)
  • 【软件设计师】计算机网络考点整理
  • FEKO许可证与其他软件的集成
  • Web服务器(Tomcat)
  • linux中安装jdk(Java环境),tomcat
  • 5分钟搭建智能看板:衡石科技自助式BI工具使用教程
  • 更新ubuntu软件源遇到GPG error
  • 【css】 flex布局基本知识
  • Nginx 核心功能与 LNMP 环境搭建深度笔记
  • Android多线程下载文件拆解:原理、实现与优化
  • HarmonyOS 应用开发,如何引入 Golang 编译的第三方 SO 库
  • 第二章:Android常用UI控件
  • Nova Launcher:个性化安卓桌面,打造专属体验
  • 通过AIoTedge或ThingsKit物联网平台内置的Node-RED读取OPC-UA