C语言~共用体


共用体看起来很像结构体,只不过关键字由 struc t变成了 union。
共用体和结构体的区别在于:结构体定义了一个由多个数据成员组成的特殊类型,而共用体定义了一块为所有数据成员共享的内存。

1、共用体变量的引用

#include<stdio.h>

union DataUnion			/*声明共用体类型*/
{
	int iInt;			/*成员变量*/
	char cChar;			
};

int main()
{
	union DataUnion Union;		/*定义共用体变量*/
	Union.iInt=97;				/*为共用体变量中成员赋值*/
	printf("iInt: %d\n",Union.iInt);		/*输出成员变量数据*/
	printf("cChar: %c\n",Union.cChar);
	Union.cChar='A';			/*改变成员的数据*/
	printf("iInt: %d\n",Union.iInt);		/*输出成员变量数据*/
	printf("cChar: %c\n",Union.cChar);
	return 0;
}

输出结果:
在这里插入图片描述
在程序中改变共用体的一个成员,其他成员也会随之改变。当给某个特定的成员进行赋值时,其他成员的值也会具有一致的含义,这是因为它们的值的每一个二进制位都被新值所覆盖。

2、共用体变量初始化

注意:对共用体变量初始化时,只需要一个初始化值就足够了,其类型必须和共用体的第一个成员的类型相一致。

#include<stdio.h>

union DataUnion							/*声明共用体类型*/
{
	int iInt;								/*成员变量*/
	char cChar;			
};

int main()
{
	union DataUnion Union={97};					/*定义共用体变量,并进行初始化*/
	printf("iInt: %d\n",Union.iInt);				/*输出成员变量数据*/
	printf("cChar: %c\n",Union.cChar);
	return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值