《C专家编程》学习笔记——第三章(二):关于联合
来源:互联网 发布:淘宝客服日常工作规范 编辑:程序博客网 时间:2024/04/19 23:48
- 联合的第一种用法:联合一般作为大型结构的一部分存在。
struct creature{
char has_backbone;
char has_fur;
short num_of_legs_in_excess_of_4;
};
但是,我们知道,所有的动物要么是无脊椎动物,要么是脊椎动物。而且只有脊椎动物才能有皮毛,只有无脊椎动物才可能有多于4条腿。没有一种动物既有皮毛又超过4条腿。这样,可以通过把两个相互排斥的字段存储于一个联合中来节省空间:
union secondary_characteristics{
char has_fur;
short num_of_legs_in_excess_of_4;
}
struct creature{
char has_backbone;
union secondary_characteristics form;
};
- 联合的第二种用法:联合可以把同一个数据解释成两种不同的东西,而不是把两个不同的数据解释为同一种东西。例如:
union bits32_tag{
int whole; //一个32位的值
struct { char c0, c1, c2, c3; } byte; //4个8位的字节
} value;
这个联合允许程序员提取整个32位值(作为int),也可以提取单独的字节字段如value.byte.c0等。
- 《C专家编程》学习笔记——第三章(二):关于联合
- C专家编程学习笔记——第三章:C语言的声明(一)
- C专家编程学习笔记——第三章(四):C语言声明之 typedef
- 《c专家编程》学习笔记(二)
- C专家编程学习笔记——第三章(三):有效地解读C语言的声明
- 《C专家编程》笔记二:第三章 分析C语言的声明
- C专家编程学习之第三章——分析C语言的声明
- [C专家]分析C语言声明——关于联合
- C 专家编程 笔记(一、二、三章)
- C专家编程学习笔记——第三章(三):有效地解读C语言的声明
- 关于强制类型转换——《C专家编程》笔记
- C专家编程第二章学习笔记
- 学习C专家编程笔记(1)
- 《c专家编程》学习笔记(一)
- 《C专家编程》学习笔记——再论数组
- 学习《C专家编程》笔记
- 《C专家编程》学习笔记
- 《c专家编程》学习笔记
- kvm桥接方案
- 《算法导论的Java实现》序言
- IsCallBack属性和IsPostBack属性的区别
- java IO 文件操作---写文件
- SQL SERVER数据库中GUEST用户
- 《C专家编程》学习笔记——第三章(二):关于联合
- Ubuntu9.04配iptables L7封QQ详细过程
- 本科阶段基础数学书籍及其对应的英文书籍推荐收藏
- Perl模块多平台安装方法
- 抓紧时间,我要完成
- java IO 读取控制台输入
- 手把手教你如何配置和编译ogre 1.7.0 + cegui 0.7.1
- 我连做梦都没想到惊喜
- 一个超全的数学资源网站(转贴)