数据类型:5 宏、常量、枚举、结构体和共用体对比分析之共用体

1587 人浏览 | 时间: 2015-06-23 17:07:20 | 作者: codexia

    第三篇  共用体
    共用体,这个东西以前学过,但是很少使用,就也忘了差不多了。但是后来在一个设计分析一个协议时,用到了这个东西,然后又仔细研究了一下。
    这些小玩意也都不难,理解起来也简单。只是有时候运用在复杂的环境时,比较容易模糊。所以是有必要专门来讨论一下。平常用的不多,但是有时候就特别有用,还是要掌握。而这个的应用,一般都是对内存要求高的场合,而一般的编程,根本就不在乎那点内存。
先说说共用体的含义。共用体关键字是union,其设计的目的就是为了节省内存。在共用体内部的几个成员中,占用内存最大的则基本确定了共用体占用的大小,精确的大小则是这样确定的:成员中占用最小内存的内存大小作为内存分配单元,最终的共用体大小一定是最小内存大小的倍数。然后可能稍微比最大的成员占用的内存大小大一点或者相等。比如说共用体有两个成员,第一个是整型,占四个字节,第二个成员是一个15个字节的字符数组。此时,成员最小的是整型,4个字节,因此共用体最终的大小是4的整倍数,如4,8,12,16,20等,然后与最大的成员进行匹配,得到最适合的大小又占用空间最小。这样一综合,那15就与16最接近。有人会问,为什么是与16匹配,而不是12.这问题在是比较明

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读