共用体和结构体的区别

共用体和结构体的区别,第1张

  在c++++中,结构体(struct)和共用体(union)是两种很相似的复合数据类型,都可以用来存储多种数据类型,但是两者还有很大的区别。

  结构体

  1、结构体的作用

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

  2、结构体的定义

  结构体:是指定义相应的数据结构及相应的变量。

  结构体如下所示,

共用体和结构体的区别,共用体和结构体的区别,第2张

  其中,struct是结构体关键字,一定不能省略。

  node是结构体名,可以省略,成为无名结构体。

  结构体成员可以使基本类型或者构造类型。

  3、特点

  变量用“.”访问,指针用" ->"访问。eg. node.num = 1; node->ame = “abc”;

  共用体

  1、共用体的作用

  用覆盖技术,几个变量相互覆盖,从而使几个不同变量共占一段内存的结构。共用体的所有成员都在一段内存中存放,起始地址一样,并且同一时刻只能使用其中的一个成员变量。

  2、共用体的定义

  共用体如下所示,

共用体和结构体的区别,共用体和结构体的区别,第3张

  其中union是共用体关键字,不能省略。node是共用体名。

  3、特点

  用体内存长度是内部最长的数据类型的长度。

  共用体的地址和内部各成员变量的地址都是同一个地址

  主要区别 共用体和结构体的区别,共用体和结构体的区别,第4张

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2717382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存