结构体:将不同类型的数据组合成一个整体,是自定义类型
共同体:不同类型的几个变量共同占用一段内存
1)结构体中的每个成员都有自己独立的地址,它们是同时存在的;
共同体中的所有成员占用同一段内存,它们不能同时存在;
2)sizeof(struct)是内存对齐后所有成员长度的总和,sizeof(union)是内存对齐后最长数据成员的长度、
结构体为什么要内存对齐呢?
1.平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常
2.硬件原因:经过内存对齐之后,CPU的内存访问速度大大提升
3、结构体和共用体的区别?
于 2023-11-20 09:26:42 首次发布
本文介绍了结构体如何组合不同类型数据,其成员独立地址与共享内存的区别,以及sizeof(struct)和sizeof(union)的作用。重点阐述了内存对齐的必要性,包括平台原因(移植兼容)和硬件原因(提高访问速度)。
摘要由CSDN通过智能技术生成