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

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

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

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

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

              总结:

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

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

c++ primer plus阅读笔记2---结构体共用体枚举

1结构体中的位字段 struct torgle_register { unsigned int SN :4 //SN 占用4个bit unsigned int :4 ...
  • darmao
  • darmao
  • 2017年08月09日 22:15
  • 100

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

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

C++结构体、共用体、枚举

一、结构体: 二、共用体: 三、枚举:

C++结构体和共用体

结构体和共用体

C++ 字节对齐与结构体/共用体的大小

 转载自 http://pppboy.blog.163.com/blog/static/30203796201082494026399/ 一、解释 现代计算机中内存空间都是按照byte划分...

结构体与共用体

  • 2013年05月12日 16:00
  • 1.54MB
  • 下载

结构体和 共用体

  • 2014年03月06日 09:16
  • 2.51MB
  • 下载

结构体和共用体的使用及注意事项

一、结构体 1.结构体的作用 在网络协议、通信控制、嵌入式系统的C/C++编程中,我们经常要传送的不是简单的字节流,而是多种数据组合起来的一个整体,其表现形式就是一个结构体。 2.结构体的定义 结构体...

C语言结构体与共用体.ppt

  • 2012年11月27日 22:02
  • 79KB
  • 下载

第11章 结构体和共用体

  • 2012年08月16日 10:16
  • 143KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++ 中 共用体和结构体比较
举报原因:
原因补充:

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