当前位置:网站首页>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.
边栏推荐
- spark-DataFrame数据插入mysql性能优化
- 吞吐?带宽?傻傻分不清楚
- flink实例开发-详细使用指南
- CVPR best paper winner Huang Gao's team from Tsinghua University presented the first dynamic network review
- [Go through 4] 09-10_Classic network analysis
- MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA
- Lecture 3 Gradient Tutorial Gradient Descent and Stochastic Gradient Descent
- 【数据库和SQL学习笔记】8.SQL中的视图(view)
- Thread handler handle IntentServvice handlerThread
- 表情捕捉的指标/图像的无参考质量评价
猜你喜欢
【22李宏毅机器学习】课程大纲概述
IJCAI 2022|边界引导的伪装目标检测模型BGNet
【数据库和SQL学习笔记】7.SQL中的插入(INSERT)、删除(DELETE)、更新(UPDATE)
CVPR 2022 | 70% memory savings, 2x faster training
原来何恺明提出的MAE还是一种数据增强
【数据库和SQL学习笔记】10.(T-SQL语言)函数、存储过程、触发器
Flink Distributed Cache 分布式缓存
AWS 常用服务
【Pytorch学习笔记】11.取Dataset的子集、给Dataset打乱顺序的方法(使用Subset、random_split)
[Go through 8] Fully Connected Neural Network Video Notes
随机推荐
[Intensive reading of the paper] R-CNN's Bounding box regression problem is detailed
数据库期末考试,选择、判断、填空题汇总
「实用」运维新手一定不能错过的17 个技巧
dataframe 常用操作
11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
【零基础开发NFT智能合约】如何使用工具自动生成NFT智能合约带白名单可Mint无需写代码
Flink HA安装配置实战
伪RTOS-ProroThread在CH573芯片上的移植
【Over 15】A week of learning lstm
基于Flink CDC实现实时数据采集(四)-Sink接口实现
服务网格istio 1.12.x安装
【MySQL】数据库多表链接的查询方式
flink中文文档-目录v1.4
CVPR 2022 | 70% memory savings, 2x faster training
Machine Learning (1) - Machine Learning Fundamentals
spark-DataFrame数据插入mysql性能优化
flink yarn-session的两种使用方式
el-pagination分页分页设置
SQL (2) - join window function view
如何停止flink job