当前位置:网站首页>C语言联合体union占用空间大小问题
C语言联合体union占用空间大小问题
2022-08-05 05:16:00 【Mr.Fu!】
C语言联合体union占用空间大小问题
联合体占用空间大小要遵循两个原则:
- 大小要足够容纳下所有成员的大小,也就是找到占用空间最大的元素
- 占用空间最大的元素大小要可以被所有共用体成员类型整除开
- 如果元素大小不可以被共用体某一个成员的类似整除开,必须添加空白自己,直到可以被共用体所有成员类型整除开。
例:
Union U1{
Char a[9]; //占用9字节
Int b; // 占用4字节
Double c; //占用8字节
}
此时共用体大小为16,其中最大占用空间为9,其各成员类型占用空间为1,4,8,但是此时9无法整除4,8,所以必须添加空白字节,将大小添加为16,既可以整除1,4,8。
Union U2{
Char a[7];//占用7字节
Int b; //占用4字节
Double c; //占用8字节
}
此时共用体占用大小8字节,其中最大占用空间为8,其各成员类型占用空间大小为1(7),4,8,所以8可以被1,4,8整除,所以大小为8.
Union U3{
Char a; //占用1字节
Int b[3]; //占用12字节
Double c; //占用8字节
}
此共用体占用空间大小为16,最大占用空间为12,其各成员类型占用空间大小围殴1,4(3),8,此时12无法整除8,所以添加空白字节,添加到16,此时可被所有类型整除,所以大小为16.
边栏推荐
- The University of Göttingen proposed CLIPSeg, a model that can perform three segmentation tasks at the same time
- Detailed explanation of BroadCast Receiver (broadcast)
- WCH系列芯片CoreMark跑分
- 网络信息安全运营方法论 (中)
- 通过Flink-Sql将Kafka数据写入HDFS
- 沁恒MCU从EVT中提取文件建立MounRiver独立工程
- flink项目开发-配置jar依赖,连接器,类库
- SQL (2) - join window function view
- 【数据库和SQL学习笔记】6.SELECT查询4:嵌套查询、对查询结果进行操作
- 神经网络也能像人类利用外围视觉一样观察图像
猜你喜欢

6k+ star,面向小白的深度学习代码库!一行代码实现所有Attention机制!

【Pytorch学习笔记】9.分类器的分类结果如何评估——使用混淆矩阵、F1-score、ROC曲线、PR曲线等(以Softmax二分类为例)

【MySQL】数据库多表链接的查询方式

单变量线性回归

面向小白的深度学习代码库,一行代码实现30+中attention机制。

拿出接口数组对象中的所有name值,取出同一个值

flink实例开发-batch批处理实例
![[Database and SQL study notes] 10. (T-SQL language) functions, stored procedures, triggers](/img/b9/06b90160c962a25a3cc44731afb6dc.png)
[Database and SQL study notes] 10. (T-SQL language) functions, stored procedures, triggers

【论文精读】Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation(R-CNN)

网络信息安全运营方法论 (下)
随机推荐
[Pytorch study notes] 11. Take a subset of the Dataset and shuffle the order of the Dataset (using Subset, random_split)
CVPR 2020 - 频谱正则化
【论文精读】R-CNN 之预测框回归(Bounding box regression)问题详述
网络信息安全运营方法论 (上)
ECCV2022 | RU&谷歌提出用CLIP进行zero-shot目标检测!
沁恒MCU从EVT中提取文件建立MounRiver独立工程
Flink EventTime和Watermarks案例分析
flink部署操作-flink standalone集群安装部署
数控直流电源
AIDL detailed explanation
flink基本原理及应用场景分析
vscode要安装的插件
el-table,el-table-column,selection,获取多选选中的数据
AWS 常用服务
MySQL
【数据库和SQL学习笔记】4.SELECT查询2:排序(ORDER BY)、聚合函数、分组查询(GROUP BY)
【Pytorch学习笔记】10.如何快速创建一个自己的Dataset数据集对象(继承Dataset类并重写对应方法)
[Kaggle project actual combat record] Steps and ideas sharing of a picture classification project - taking leaf classification as an example (using Pytorch)
华科提出首个用于伪装实例分割的一阶段框架OSFormer
伪RTOS-ProroThread在CH573芯片上的移植