联合体
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <stdio.h>
union
sa
{
double
a;
int
b;
};
int
main()
{
union
sa ssa;
printf
(
"%d \n"
,
sizeof
(
union
sa));
}
|
联合体的声明,定义,与结构体一样。
联合体的长度为最长成员的长度。
联合体的初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <stdio.h>
union
sa
{
int
a;
int
b;
};
int
main()
{
union
sa ssa={1};;
printf
(
"%d \n"
,ssa.a);
}
|
初始化的值必须为第一个成员的类型
如果是其他类型,则会转化成该类型(如果能);
1
|
union
sa ssa={1.9};
|
a为1;
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <stdio.h>
union
sa
{
float
a;
int
b;
};
int
main()
{
union
sa ssa={1};
printf
(
"%f \n"
,ssa.a);
}
|
a为1.000000