首页 > 其他分享 >C语言中union类型学习

C语言中union类型学习

时间:2022-11-21 17:13:08浏览次数:45  
标签:字节 覆盖 union 成员 C语言 学习 共用 变量

union指的是C语言的共用体(联合体)

a union is a container of overlapping object

共用体它表示几个变量共用同一个内存位置, 在不同的时间保存不同的数据类型和不同长度的变量

union中,里面全部的共用体成员共用同一个内存空间, 而且特别重要的一点是:  在同一个时间,它仅仅能够存储当中一个成员变量的值

具体特征如下:

1.  union中可以定义多个成员,union的大小由最大的成员的大小决定

2. union中所有成员变量共享同一个内存空间. 每一次,仅仅能使用当中的一个成员

3. 对其中的某个成员赋值, 会覆盖其他成员的值 (这是因为union中的所有成员变量共享一块内存 =>

    当成员所占字节数一样时,给某个成员赋值,会覆盖它之前那个成员的值覆盖

    当成员所占字节数不同时,那么仅仅会覆盖对应字节上的值. 比如之前是共用体中的一个int成员(占4个字节), 现在给char成员赋值(char占一个字节), 现在的char就不会把int的4个字节都覆盖掉,只能覆盖开始的一个字节

4. 共用体union的存放顺序是里面所有成员从低地址开始存放

标签:字节,覆盖,union,成员,C语言,学习,共用,变量
From: https://www.cnblogs.com/wphl-27/p/16911966.html

相关文章

  • c语言实现【汉诺塔问题】
    【汉诺塔问题】c语言实现1.问题描述汉诺塔问题是指:一块板上固定三个木杆:A、B、C。A赶上套有若干个大小不等的圆盘,按照大的在下、小的在上的顺序排列,要把这些圆盘从A......
  • 深度学习算法基础
    1,基本概念1.1,余弦相似度1.2,欧式距离1.3,余弦相似度和欧氏距离的区别2,容量、欠拟合和过拟合3,正则化方法4,超参数和验证集5,估计、偏差和方差6,随机梯度下降算法......
  • ENVI新机器学习之异常探测分类工具操作手册
    异常探测是一种用于定位数据集中异常点的数据处理技术。异常值是指与数据集中的已知特征相比被认为不正常的值。例如,如果水是已知的特征,那么除水之外的任何东西都将被视为......
  • LaTeX学习笔记
    由于本人最近正在学习如何用latex学习写实验报告以及其他的pdf文件特此记录一下学习过程以及一些问题如何解决如何插入多个并排图表,并且每个图标单独标号这一问题......
  • Redis学习笔记
    什么是NoSQL相对于传统的关系型数据库(MySQL、Oracle等)的行列模式,在大数据时代很难正常运行,所以产生了NoSQL的一种数据库用来存储访问量比较高的数据,常见的NoSQL数据库有......
  • 心理老师信箱:学习三分钟热度怎么办?
    小云同学来信:老师,我最近很烦,步入初中后,我很想专心学习,可不自觉的就会被分散注意力,学什么都总是三分钟热度,我讨厌这样的状态,一边后悔,一边又控制不住自己,不知道怎么办才好,我......
  • [React Typescript] Discriminated unions in components props
    importReact,{useState}from"react";typeBase={id:string}|string;typeGenericSelectProps<TValue>={formatLabel:(value:TValue)=>string;......
  • SQL学习_1语法
    SQL指结构化查询语言,全称是StructuredQueryLanguage。SQL语句不区分大小写!SQL命令SELECT–从数据库中提取数据UPDATE–更新数据库中的数据DELETE–从数据......
  • 深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」
    Https反向代理之前的内容中我们主要针对于一些对安全性要求比较高的站点,可能会使用HTTPS(一种使用SSL通信标准的安全HTTP协议),针对于HTTP协议和SSL标准相信大家都知道了,在这......
  • 招聘|大疆招机器学习算法工程师(自动剪辑/激光雷达)
    ​​公司介绍:深圳市大疆创新科技有限公司成立于2006年,如今已发展成为空间智能时代的技术、影像和教育方案引领者。成立十四年间,大疆创新的业务从无人机系统拓展至多元化产......