union是什么意思c语言(C语言:例子解释,关于union)

本文目录
C语言:例子解释,关于union
可能的值是266(小尾) 或 17432576 (32 位大尾序) 或 2561(16位大尾)
参考下面的代码
#include《stdio.h》
union {
int i;
char x;
}a;
int main(void)
{ char *p;
int i = 0;
a.x = 10;
a.x = 1;
printf("%d\n",a.i);
printf("联合a共占 %d 个字节\n",sizeof(a));
p = (char *)(&a);
for(i = 0; i 《 sizeof(a); ++i)
{
printf("0x%08X --------", p + i);
printf("%02X\n", *(p+i));
}
return 0;
}
C语言中联合体(union)的使用
联合体又被称为共用体,我个人感觉,共用体名字更合理。
和结构体同属于C语言数据类型中的结构类型。
例如
uniuon data{ int i ; char c ;float f;}x;定义共用体类型名称为data类型,有三个属性,分别为
int i ; char c ;float f;这三个属性共同占用内存空间,所以空间占用选属性中占用最多的那个,也就是float f。占用四个字节。由于共同占用,所以在同一时间只能保留一个属性内容
如果为
struct data{ int i ; char c ;float f;}x;则表明定义结构体类型名称为data类型,也是三个属性,不过在内存中占用的是空间大小是三个属性之和。若int类型在编译器中分配4字节的话,总共分配字节数位4+1+4总共9字节。
由于单独占用,所以在同一时间可以保留所有属性内容
C语言中的联合又什么
联合又称联合体或共用体(union),共用体是通过成员的相互覆盖,是的几个不同的变量共占一段内存,以此大道节省内存的目的。
union
data
{
int
i;
char
c;
float
f;
}
a;
上面的作用是定义联合体,举个例子吧,就像你定义一个整型常量,如
int
b=1
上面的那段代码等同与int,他是告诉系统有这么一个变量,那么接下来就是设置一个常量了,}号后面接着的a就像int
b=1中的b一样,系统这时就会为a这一个变量分配内存空间。
上面的联合体里有3个成员,也就是说有3个变量,A选项就是正确的赋值方式,就像b赋值为1一样,如果你想对具体某个成员赋值的话,就要用到“.”号或
“-》”号,通常用“.”。

更多文章:
hibernate的sql语句在哪(hibernate中如何执行sql语句)
2026年1月5日 18:15
免费下载ppt模板网站建筑公司简介(求一款介绍公司简介的PPT模板,稍微好看一点详细一点的!)
2025年9月12日 18:45
springboot对应的spring版本(spring-boot集成spring-data-redis哪个版本)
2025年7月30日 01:45
asp可视化建站(关于建网站的(用asp做的)问题,请大家帮忙在线等)
2025年7月30日 22:00
2022pubg全球总决赛(绝地求生2022全球总决赛时间)
2025年8月11日 14:30
eclipse2020需要jdk什么版本(最新eclipse和jdk10可以一起用吗)
2025年8月26日 11:15
多线程线程池哪几种(什么是线程池为什么要使用线程池如何使用)
2025年10月15日 04:45
性格用英语怎么说personality(相貌和问性格的用英语怎么说)
2026年1月25日 00:45














