联合体(共同体)的深入研究
联合体的介绍
联合也是一种特殊的自定义类型。
这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间,所以联合体也叫共同体。
举个例子:
运行结果是:
这个联合体的大小是4个字节。
计算联合体大小的方式
1,联合体的大小至少是最大成员的大小。
2,当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。
上图的大小,c占一个字节,i占四个字节,但是联合体整体大小,取4,并不是5,更不是8。他俩公用一块空间,4个字节足以。
联合体的妙用
当百度的主考官,面试你,如何判断当前机器是,大端存储还是小端存储的时候。用联合体去写代码判断是最合适的。
代码分析:
代码打印的值是c,它就占一个字节,如果值是1,说明是小端存储,如果是0,则说明是大端存储。(对于大小端不熟悉的兄弟,我前面有一篇博客是研究数据存储,和大小端的)
结果如下:
联合体大小的计算试题
结果如下:
代码分析:char的对齐数是1,int的对齐数是4,但是最大成员是5,char 【5】是占用5个字节,
最大对齐数是4,但是由于5并不是4的倍数,所以是8,至少得占用8个字节。。虽然浪费了3个字节,但是没办法,就得这样。
联合体(共同体)的深入研究相关推荐
- 联合体(共同体)union V{...}v;
void test () { union V { struct X { unsigned char s1:2; // :2 指 占两个字符? 是两个bit.若是int 占多少? unsi ...
- c语言结构体联合体与枚举考点,C语言-结构体+联合体+枚举
#include #include #include //1.结构体:是一种构造数据类型 //结构体的用途:把不同的数据类型整合起来,成为一个自定义的数据类型 //1.1 定义一个结构体(定义结构体的 ...
- 老子研究文献知识发现数据竞赛
大赛介绍 赛事背景 为提高当今社会的整体数据素养和数据意识,提升公众的数据技能水平,长三角产教融合协同创新中心联合华东师范大学调查与数据中心.同方知网(北京)技术有限公司上海分公司.和鲸科技,举办数据 ...
- 宁夏大学数学与计算机学院,刘续-宁夏大学信息工程学院
刘续副教授 通信地址:宁夏银川市西夏区文萃北街217号宁夏大学信息工程学院 邮编:750021 办公室位置:信息工程学院 电话: 传真: 电子邮箱:liux@nxu.edu.cn 教育背景 2013年 ...
- 【人机交互】课程知识点梳理及习题
目录 1 人机交互绪论 2 感知和认知基础 3 人机交互设备 4 交互技术 5 界面设计 6 人机交互界面表示模型与实现 7 Web界面设计 1 人机交互绪论 1.人机交互:关于设计.评价和实现供人们 ...
- 小学数学测试软件报告,小学数学学业水平测试分析报告.doc.doc
小学数学学业水平测试分析报告.doc 小学数学学业水平测试分析报告 高淳县教育研训中心 唐开鸿 赵凯 为了解目前我县小学数学教师的教学情况.数学学科教学质量.学生学习的薄弱点和优势,给县教育局进行农村 ...
- 20200524 中南民大 2nd SCPC校赛
这里写目录标题 B. 程序员的感激方式 C. 打印乘法表 D. 异或之后的和 E. Activity生命周期 F. 莫蒂和分数化整 G. 瑞克和颠倒星球 H. 一道简单题 I. 奇怪的圆环 J. 采摘 ...
- 【计算机毕业设计】009基于推荐算法的电影推荐系统
一.系统截图(需要演示视频可以私聊) 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式.本基于推荐算法的电影推荐系统就是在 ...
- 张福锁院士团队在根际生命共同体菌丝际生物互作研究领域取得系列进展
提高养分利用效率是农业生产和绿色发展面临的重大问题,需要系统发挥植物及其第二基因组-微生物组生物学潜力.针对这一问题,张福锁院士团队提出"根际生命共同体(Rhizobiont)"学 ...
最新文章
- 关于静态方法的使用方式
- [mvc] 简单的forms认证
- 19、Power Query-快速分析各产品的销售情况
- python读awx文件_ansible awx用法
- Greenplum元数据信息
- 题解报告:hdu 1754 I Hate It(线段树)
- 【PAT乙】1001 害死人不偿命的(3n+1)猜想 (15分) 模拟,水水更健康
- 「Leetcode」142.环形链表II:环找到了,那入口呢?
- HighCharts:设置坐标轴字体样式
- Atitit xml xpath以及mybatis xml mapper脱机解析 目录 1.1. parseStt(String id, Element root)	1 1.2. parseStt
- Linux操作系统配置基础详解:GRUB入门 (转)
- 基于大数据的人工智能象棋
- 《华为战略管理法:DSTE实战体系》整体介绍
- c#实现麻将胡牌判定-----对子法
- 2020牛客暑期多校训练营(第九场)——Groundhog and 2-Power Representation
- Akari问题详细解答
- 3ds运行linux,3ds自制操作软件
- c语言中变量赋值使用什么运算符,C语言基础学习运算符-赋值运算符
- mysql修改初始化得到的密码
- 进口零食最受欢迎排行榜
热门文章
- 数字支付中的5G技术:未来会有哪些新的变化
- PDE方程模拟冰花(雪花)生长
- ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
- Zotero导出带有注释的PDF方法
- css3实现扁平化风格APP应用图标时钟动画
- 连载一 奖学金文章更新 张文军 北京IOS第38期学员
- nginx+mysql+bugfree+php安装,linux bugfree 安装
- 梦幻诛仙mysql_梦幻诛仙回合制手游12个职业完整双端|内含详细搭建视频过程
- Unity HDRP_No more space in the 2D Cookie Texture Atlas
- 氢键有机/有序框架材料,简称HOF