C语言联合体是一种用户定义的数据类型,允许在一个单元中存储多种类型的数据。然而,它并不占用所有成员的内存之和。它只保存最大成员的内存。
在union中,一次只能访问一个变量,因为它为 union 的所有成员分配了一个公共空间。
联合体的语法:
union union_name
{
Member_variable1;
Member_variable2;
.
.
Member_variable n;
}[union variables];
示例代码:
#include<stdio.h>
union data
{
int a; //union members declaration.
float b;
char ch;
};
int main()
{
union data d; //union variable.
d.a=3;
d.b=5.6;
d.ch='a';
printf("value of a is %d",d.a);
printf("\n");
printf("value of b is %f",d.b);
printf("\n");
printf("value of ch is %c",d.ch);
return 0;
}
运行上面示例代码,得到以下结果:
value of a is 1085485921
value of b is 5.600022
value of ch is a
在上面的例子中,a
和b
的值被破坏了,只有变量ch
显示实际输出。这是因为一个联合体的所有成员共享共同的内存空间。因此,当前更新的是变量ch
的值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。