c++ 中 共用体和结构体比较

原创 2013年12月05日 11:42:13

              (1)c++中,结构体和共用体的定义类似,都是自定义数据类型,具体到语法,调用成员变量都很类似,当然前者的关键字是struct,后者的关键字是union。他们的含义还是不同的。结构体变量所占内存长度是成员变量所占内存长度之和,即每个变量都有自己独立的内存单元,而共用体变量成员变量所占内存长度等于最长成员的长度。

              (2)由上面的内存占有方法可知,共用体内是可以定义多种不同类型数据,但是,同一时刻只有一个成员起作用(因为共用一个内存单元)。而结构体里面是没有这个限制的。

              (3)正由于共用体共用一个内存单元,当给共用体成员赋值的时候,它们会互相覆盖,所以只有最后一次的赋值才会有效。

              总结:

              所以,结构体和共用体之间的差别知道了吧?共用体是节省了内存空间,但是它所带来的数据使用的限定,似乎更加麻烦,没什么实用性。大概是为了兼容c而保留的吧。况且c++中的关键字new,也可以达到union的内存效果,但是用起来方便多了,所以,一般的编程当中我很少用到,不知道一些高端的东西里面有没有其他实用用法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++结构体和共用体

结构体和共用体

java基础改学C++(七)结构体、共用体、枚举、类

java基础改学C++(七)结构体、共用体、枚举、类

第11章 结构体和共用体

  • 2012-08-16 10:16
  • 143KB
  • 下载

结构体和共用体的大小

1.结构体与共用体      1.1 结构体(struct)        1. 定义 结构体是由一系列具有相同数据类型或不同数据类型的数据构成的数据集合。        2. 例子...

结构体与共用体的使用

  • 2009-05-08 15:19
  • 888KB
  • 下载

C语言基础(六)- 结构体、共用体、枚举和typeof自定义类型

什么是结构体?结构体的本质就是把一些基本类型数据组合在一起形成的一个新的复合数据类型。利用结构体可以造出一种新的数据类型,这种新的数据类型是由基本数据类型组合在一起的,利用结构体,我们就可以模拟现实生...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)