什么是C语言共用体类型
一般形式
union 共用体名
{
成员表列
}变量表列;
结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。而共用体变量所占的内存长度等于最长的成员的长度。
C语言引用共用体变量的方式
只有先定义了共用体变量才能引用它,但应注意,不能引用共用体变量,而只能引用共用体变量中的成员。
C语言共用体类型数据的特点
- 同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一个成员,而不是同时存放几个。
- 可以对共用体变量初始化,但初始化表中只能有一个常量。
- 共用体变量中起作用的成员是最后一次被赋值的成员,在对共用体变量中的一个成员赋值后,原有变量存储单元中的值就取代。
- 共用体变量的地址和它的各成员的地址都是同一地址。
- 不能对共用体变量名赋值,也不能企图引用变量名来得到一个值。
- C语言规定不能把共用体变量作函数参数,但可以使用指向共用体变量的指针作函数参数。
- 共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。
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语言共用体?
;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语言基本数据类型不同操作系统中数据类型所占字节数图解数据类型的其他分类:变量常量(
发表于 12-21 08:29
评论