Union大小
2024-10-15 10:40:47
在一个union类型结构中,所有的成员公用同样的存储空间,其占用的大小为其成员中需要空间最大者;
union本身只保留一块地址空间,因为只有一个成员真正存储于该地址, 但这块地址也要满足内存对齐原则。
#include <stdio.h> union U1 {
int a;
char b;
}; union U2 {
char a[];
double b;
}; union U3 {
U1 a;
U2 b;
char c[];
};
int main() {
printf("size of U1: %ld\n", sizeof(U1));
printf("size of U2: %ld\n", sizeof(U2));
printf("size of U3: %ld\n", sizeof(U3));
return ;
}
注意U3对齐还是以前面的double进行对齐,所以应该是对齐到下一个8的位数,也就是24,而不是20.
root@xxj-VirtualBox:~/interview# ./union
size of U1:
size of U2:
size of U3:
最新文章
- Wo的书单
- Scalaz(2)- 基础篇:随意多态-typeclass, ad-hoc polymorphism
- zpf框架的business使用方法
- web安全之sql注入实例(5.0之前的)
- [转]查看手机已经记住的WIFI密码
- HTML标签的默认样式
- 【hadoop】mapreduce原理总结
- getGuid()
- 代码片段--Makefile之大型工程项目子目录Makefile的一种通用写法
- org.apache.hadoop.fs-BufferedFSInputStream
- MSP430常见问题之LCD 显示驱动类
- 【转】EXT JS MVC开发模式
- myisam和innodb区别
- [java基础] 遇到的一个关于返回值泛型的问题
- jar包 pom
- Java实训作业
- Go Rand小结
- GRE tunnel 2
- Windows 系统安装Docker Compose 步骤
- tornado框架&;三层架构&;MVC&;MTV&;模板语言&;cookie&;session
热门文章
- POJ 2429 GCD &; LCM Inverse (Pollard rho整数分解+dfs枚举)
- 【python】format函数格式化字符串的用法
- HDU1286新朋友欧拉函数版
- ubuntu下使用反编译apk,工具dex2jar和jd-gui
- Oracle错误代码大全
- Machine Schedule(poj 1274)
- Maven类包冲突终极解决方案
- 【读书笔记】读《JavaScript模式》 - 函数复用模式之现代继承模式
- 对线程调度中Thread.sleep(0)的深入理解
- 联系旭日150安装CentOS5.X版本手记