0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是C语言共用体类型

jf_78858299 来源:C语言入门到精通 作者:闫小林 2023-03-24 15:13 次阅读

什么是C语言共用体类型

一般形式

union 共用体名
{
成员表列
}变量表列;

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

C语言引用共用体变量的方式

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

C语言共用体类型数据的特点

  1. 同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一个成员,而不是同时存放几个。
  2. 可以对共用体变量初始化,但初始化表中只能有一个常量。
  3. 共用体变量中起作用的成员是最后一次被赋值的成员,在对共用体变量中的一个成员赋值后,原有变量存储单元中的值就取代。
  4. 共用体变量的地址和它的各成员的地址都是同一地址。
  5. 不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。
  6. C语言规定不能把共用体变量作函数参数,但可以使用指向共用体变量的指针作函数参数。
  7. 共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。

C语言使用共同体输出成绩

#include
union data
{
float score;
};
int main(){
union data str;
str.score=90.5;
printf("%f\\n",str.score);
return 0;
}

编译运行结果:

90.500000

--------------------------------
Process exited after0.1584 secondswith return value0
请按任意键继续. . .
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    8

    文章

    2989

    浏览量

    73833
  • C语言
    +关注

    关注

    180

    文章

    7596

    浏览量

    135971
  • 结构体
    +关注

    关注

    1

    文章

    129

    浏览量

    10825
收藏 人收藏

    评论

    相关推荐

    C语言-枚举、共用

    前面章节学习了结构,结构里可以按顺序存放相同或者不同的数据类型,每个成员都有它对应的存储空间。 而共用和结构
    的头像 发表于 09-09 11:31 941次阅读

    C语言必备知识共用

    共用是一种 构造数据类型 ,有时候也称之为联合体。它的用途:使几个不同类型的变量共占一段内存。
    的头像 发表于 11-29 16:04 966次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>必备知识<b class='flag-5'>共用</b><b class='flag-5'>体</b>

    结构-共用和用户定义类型

    结构-共用和用户定义类型
    发表于 01-31 10:48

    什么是C语言共用

    ;volatile unsigned char G: 1;volatile unsigned char DP: 1; } B; volatile unsigned char W;} ;这是个什么共用?怎么称呼的?这是共用
    发表于 10-25 02:32

    结构共用的区别

    转载重点:共用的所有成员占用同一段内存,修改一个成员会影响其余所有成员。图形分析影响过程通过前面的讲解,我们知道结构(Struct)是一种构造类型或复杂
    发表于 07-20 06:57

    C语言的结构共用在单片机中的妙用是什么

    【分享】C语言的结构共用在单片机中的妙用C语言
    发表于 11-30 06:13

    C预处理与C语言基本数据类型

    指令表:注意:宏名的书写由标识符与两边各两条下划线构成。C语言基本数据类型不同操作系统中数据类型所占字节数图解数据类型的其他分类:变量常量(
    发表于 12-21 08:29

    怎样去使用C语言的结构共用

    C语言的结构共用分别有何特点呢?怎样去使用C语言
    发表于 01-17 07:51

    联合体/共用的使用方法

    大家好,我是ZhengN。本次给分享联合体的一些知识。联合体/共用的使用 C语言中,联合体/共用
    发表于 02-28 10:05

    共用和结构的区别

    c++中,结构(struct)和共用(union)是两种很相似的复合数据类型,都可以用来存储多种数据
    发表于 11-19 17:46 3.7w次阅读

    C语言程序设计教程之结构共用的详细资料说明

    本文档详细介绍的是C语言程序设计教程之结构共用的详细资料说明主要内容包括了:1 结构,2
    发表于 03-01 17:20 11次下载
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>程序设计教程之结构<b class='flag-5'>体</b>与<b class='flag-5'>共用</b><b class='flag-5'>体</b>的详细资料说明

    什么是C语言的联合体

    我们知道结构(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员。 在C语言
    的头像 发表于 07-29 15:35 3669次阅读
    什么是<b class='flag-5'>C</b><b class='flag-5'>语言</b>的联合体

    C语言的结构共用在单片机中的妙用

    【分享】C语言的结构共用在单片机中的妙用C语言
    发表于 11-20 19:36 20次下载
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>的结构<b class='flag-5'>体</b>和<b class='flag-5'>共用</b><b class='flag-5'>体</b>在单片机中的妙用

    C语言-结构与位域

    C语言里的结构是可以包含不同数据类型和相同数据类型的一个有序集合,属于构造类型,可以自己任意组
    的头像 发表于 08-14 10:06 1636次阅读

    详解C/C++结构、联合体和枚举的区别与内存对齐

    C语言中构造类型一共有4种,它们分别是数组、结构(struct)、共用(union)、枚举
    的头像 发表于 06-08 14:38 4241次阅读
    详解<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++结构<b class='flag-5'>体</b>、联合体和枚举的区别与内存对齐