9.5 共用体类型

01

什么是共用体类型

1、一般形式

union 共用体名

{

成员表列

}变量表列;

2、结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。而共用体变量所占的内存长度等于最长的成员的长度。

02

引用共用体变量的方式

1、只有先定义了共用体变量才能引用它,但应注意,不能引用共用体变量,而只能引用共用体变量中的成员。

03

共用体类型数据的特点

1、同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一个成员,而不是同时存放几个。

2、可以对共用体变量初始化,但初始化表中只能有一个常量。

3、共用体变量中起作用的成员是最后一次被赋值的成员,在对共用体变量中的一个成员赋值后,原有变量存储单元中的值就取代。

4、共用体变量的地址和它的各成员的地址都是同一地址。

5、不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。

6、以前的C规定不能把共用体变量作函数参数,但可以使用指向共用体变量的指针作函数参数。

7、共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

文字/闫小林

图片/源于网络

- END -

本文分享自微信公众号 - C语言入门到精通(gh_780327809188),作者:闫小林

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 4.3 串的模式匹配算法

    1、子串的定位操作通常称做串的模式匹配(其中T称为模式串),是各种串处理系统中最重要的操作之一。

    闫小林
  • 基础知识 | 每日一练(77)

    小林:在 PC 兼容的分段结构下, 很难透明地分配超过 640K 的内存, 尤其是在 MS-DOS 下。

    闫小林
  • 基础知识 | 每日一面(76)

    小林:某些构造随编译器和硬件的实现而变化, 这一直是 C语言的一个特点。这种有意的不严格规定可以让编译器生成效率更高的代码, 而不必让所有程序为了不合理的情况承...

    闫小林
  • 【编程经验】共用体的定义和使用

    在 C 语言中,允许几种不同类型的变量存放到同一段内存单元中,也就是使用覆盖技术,几个变量互 相覆盖。这种几个不同的变量共同占用一段内存的结构,被称为共用体类型...

    编程范 源代码公司
  • HIDL学习笔记之HIDL C++(第一天)

    HAL 接口定义语言(简称 HIDL,发音为“hide-l”)是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法...

    李小白是一只喵
  • ExtJs三(实现验证码图片控制器)

    在Extjs二(实现登录)http://www.cnblogs.com/aehyok/archive/2013/04/18/3028739.html,今天紧跟上...

    aehyok
  • ExtJs三(实现验证码图片控制器)

    在Extjs二(实现登录)http://www.cnblogs.com/aehyok/archive/2013/04/18/3028739.html,今天紧跟上...

    aehyok
  • iOS开发提升效率工具之InjectionIII

    随着项目越来越大,每次build的时间也是在变长。当只是修改一个UI上的小问题时,比如字体、颜色、frame就要重新build再次等待一段时间,这种开发效率是大...

    用户6094182
  • 【RT-Thread笔记】内核基础

    最近在工作中有用到多任务系统,趁热进行学习一下。这里我选择国产实时操作系统RT-Thread进行学习,因为现在很火呀。之前已经有简单地过了一遍RT-Thread...

    正念君
  • SpringBoot系列-- Mybatis配合AOP和注解实现动态数据源切换配置

    随着应用用户数量的增加,相应的并发请求的数量也会跟着不断增加,慢慢地,单个数据库已经没有办法满足我们频繁的数据库操作请求了。

    用户4143945

扫码关注云+社区

领取腾讯云代金券