当前位置:网站首页>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.
边栏推荐
- 基于STM32F407的一个温度传感器报警系统(用的是DS18B20温度传感器,4针0.96寸OLED显示屏,并且附带日期显示)
- Tensorflow2 与 Pytorch 在张量Tensor基础操作方面的对比整理汇总
- 华科提出首个用于伪装实例分割的一阶段框架OSFormer
- [Database and SQL study notes] 8. Views in SQL
- Comparison and summary of Tensorflow2 and Pytorch in terms of basic operations of tensor Tensor
- 11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
- [Pytorch study notes] 9. How to evaluate the classification results of the classifier - using confusion matrix, F1-score, ROC curve, PR curve, etc. (taking Softmax binary classification as an example)
- AIDL detailed explanation
- SQL(1) - Add, delete, modify and search
- flink实例开发-batch批处理实例
猜你喜欢

flink项目开发-配置jar依赖,连接器,类库

读论文-Cycle GAN

沁恒MCU从EVT中提取文件建立MounRiver独立工程

网络信息安全运营方法论 (中)

盘点关于发顶会顶刊论文,你需要知道写作上的这些事情!

ECCV2022 | RU&谷歌提出用CLIP进行zero-shot目标检测!

flink实例开发-batch批处理实例

Comparison and summary of Tensorflow2 and Pytorch in terms of basic operations of tensor Tensor

2021电赛资源及经验总结

【Pytorch学习笔记】8.训练类别不均衡数据时,如何使用WeightedRandomSampler(权重采样器)
随机推荐
MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA
【数据库和SQL学习笔记】6.SELECT查询4:嵌套查询、对查询结果进行操作
怎样在Disciples门徒获得收益?
CVPR 2022 |节省70%的显存,训练速度提高2倍
IJCAI 2022|边界引导的伪装目标检测模型BGNet
ES6 新特性:Class 的继承
CVPR 2022 | 70% memory savings, 2x faster training
Mysql-连接https域名的Mysql数据源踩的坑
原来何恺明提出的MAE还是一种数据增强
SSL 证书签发详细攻略
ECCV2022 | RU & Google propose zero-shot object detection with CLIP!
[Go through 9] Convolution
11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
vscode要安装的插件
【Over 15】A week of learning lstm
SQL(1) - Add, delete, modify and search
Service
Flink EventTime和Watermarks案例分析
tensorflow的session和内存溢出
WCH系列芯片CoreMark跑分