C语言 | 共用体概述
【摘要】 什么是C语言共用体类型一般形式union 共用体名
{
成员表列
}变量表列;
结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。而共用体变量所占的内存长度等于最长的成员的长度。C语言引用共用体变量的方式只有先定义了共用体变量才能引用它,但应注意,不能引用共用体变量,而只能引用共用体变量中的成员。C语言共用体类型数据的特点同一个内存段可以用来...
什么是C语言共用体类型
一般形式
union 共用体名
{
成员表列
}变量表列;
结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。而共用体变量所占的内存长度等于最长的成员的长度。
C语言引用共用体变量的方式
只有先定义了共用体变量才能引用它,但应注意,不能引用共用体变量,而只能引用共用体变量中的成员。
C语言共用体类型数据的特点
- 同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一个成员,而不是同时存放几个。
- 可以对共用体变量初始化,但初始化表中只能有一个常量。
- 共用体变量中起作用的成员是最后一次被赋值的成员,在对共用体变量中的一个成员赋值后,原有变量存储单元中的值就取代。
- 共用体变量的地址和它的各成员的地址都是同一地址。
- 不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。
- C语言规定不能把共用体变量作函数参数,但可以使用指向共用体变量的指针作函数参数。
- 共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。
C语言使用共同体输出成绩
#include<stdio.h>
union data
{ float score;
};
int main(){ union data str; str.score=90.5; printf("%f\n",str.score); return 0;
}
编译运行结果:
90.500000
--------------------------------
Process exited after 0.1584 seconds with return value 0
请按任意键继续. . .
以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C语言开发工具详解
文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/370918579
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)