C union使用
来源:互联网 发布:linux怎么重启服务器 编辑:程序博客网 时间:2024/06/18 13:49
#include <stdio.h> union { int i; char x[2]; }a; int main() { a.x[0] = 10; a.x[1] = 1; printf("%d",a.i); return 0;}
公用体公用一个内存区域sizeof(a)为共用体成员中长度最长的成员的size。即i
int: (|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)
char x[2] : (|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)
^ ^
高地址 低地址
分析:
a.x[0] = 10 ========================> (|0|0|0|0|1|0|1|0|)
a.x[1] = 1 ======================> (|0|0|0|0|0|0|0|1|)
公用体公用sizeof(int)长度即4字节32为,则赋值后共用体内存为
a: (|0|0|0|0|0|0|0|0|)(|0|0|0|0|0|0|0|0|)(|0|0|0|0|0|0|0|1|)(|0|0|0|0|1|0|1|0|)
a.i 为4字节整型则 i = 2^8 + 2^3 + 2^1 = 256 + 8 + 2 = 266
阅读全文
0 0
- C union使用
- C语言Union的使用
- union(C/C++)使用的一些总结
- C语言中联合体union的使用
- C语言union使用一招
- C/C++中union的使用
- C语言中联合体union的使用
- C语言中联合体union的使用
- C语言中联合体union的使用
- c语言-union联合体的使用
- C语言中联合体union的使用
- C语言中联合体union的使用
- c union
- c union
- c++union
- union 使用
- union使用
- 经典试题C/C++中联合体(union)的使用
- LeetCode字符串(二)
- LeetCode 551. Student Attendance Record I (C++版)
- 穷举法:max-points-on-a-line
- 第一次写解压gz压缩文件,什么不对的地方或者待优化的地方劳烦指点指点,谢谢
- 2017世界人工智能企业排名
- C union使用
- MyBatis 延迟加载,一级缓存,二级缓存设置
- 类与对象
- UVALive
- Javascript第七天学习总结之字符串的高级操作
- 新的起点 倔强成长 绝不放弃
- Android应用开发--MP3音乐播放器代码实现(二)
- iptables&firewalld防火墙
- 次小生成树