C语言使用共用体的优点

2025-02-24 20:31:19
推荐回答(2个)
回答1:

共用体的用途不大。老式计算机,为节省存储空间,几个量共享一个单元,对现在的计算机,意义不大。少数算法,利用共用体。例如,取出一个int变量的高字节和低字节,
union chang
{
char c[2];//数组是从低地址开始.
short int a;
}un;
void testunion()
{
un.a=16961;
printf("%d%c",un.c[0],un.c[0]);
printf("%d%c",un.c[1],un.c[1]);
}

枚举类型有用。例如,定义一个“星期”枚举型变量,它的值是星期一到星期日。这就可以把非数字量,变成可以用数字来运算。

回答2:

typedef union _U
{
int i;
char c;
}U;
sizeof(U)应为4,i和c是共用内存的,i变了,c也就可能变了,没变那是巧合。
typedef enum _E
{
a,
b,
c,
}E;
E e;
那么e只能是a、b和c了。