浅谈c++中结构体和共用体的区别

 时间:2026-02-16 13:09:56

1、结构体(struct)

结构是用户自定义的类型,比数组更灵活,同一个结构可以存储多种类型的数据。

结构的创建包括两步,首先定义结构描述---描述并标记了能够存储在结构中的各种数据类型。

struct  shoes {

      char name[20];

      int size;

      double price;

};

下面就可以按描述创建结构变量。

shoes sport;

[struct] shoes boot;(c++中struct 可以省略)

在c++中,结构声明可以说是定义了一种新类型,结构名相当于基本类型名。使用结构体,通过结构变量名使用成员操作符(.)来访问各个成员,如sport.name。访问类成员函数的方式就是从访问结构成员变量的方式衍生而来的。

2、共用体(union)

共用体也是一种数据格式,它能够存储不同的数据类型,但只能同时存储其中的一种类型。也就是说,结构可以同时存储int、long和double,共用体只能存储int、long或者double中的一种。共用体的句法与结构类似,但含义不同。

union one4all {

      int int_val;

      long long_val;

      double double_val;

};

可以使用one4all变量来存储int、long 或double,条件是在不同的时间进行。

定义一个共用体变量,one4all pail;

pail使用成员操作符访问其中变量时只有一个成员是当前成员,即one4all中的三个变量共享一个地址,当pail访问int_val时,内存中存储的就是int型。

共用体的用途之一就是,当数据使用两种或更多种格式(但不会同时使用)时,可以节省空间。

  • TP5添加功能的制作,和url()跳转方式。
  • 萌宠猎宝如何进行精灵进化
  • C#如何使用泛型
  • hive配置及使用说明
  • 解决Eclipse在Ubuntu下无法找到JDK方法
  • 热门搜索
    玉碎了怎么办 怎么装修 蘑菇怎么种植 上海琉璃艺术博物馆 刺客伍六七之最强发型师 非主流发型男 男士发型大全 小孩吐奶怎么回事 淋巴细胞百分比偏高是怎么回事 消防安全常识