0
点赞
收藏
分享

微信扫一扫

[Union]C语言编程中联合Union的学习


   问题描述:联合形式和结构相似,但是只给联合中最大的成员分配足够的内存空间,联合成员在这个空间可以被彼此覆盖。

   Union:利用联合的特性,可以实现一些可能需要指针操作的功能。比如将一个四字节float型数值的内存存入一个4个元素的字节数组:

union {
float i;
charbyte_array[4];
}u;
u.i = 31.5;

然后读取byte_array[]的内容就是刚存入的float型数值的内存的内容了。

   Union的声明:与struct一样,可以

typedef union{
float i;
charbyte_array[4];
}u;
u u1,u2;

union u{
float i;
charbyte_array[4];
};
union u u1,u2;

   union之间也可以用=赋值,与struct一样。

   Union的初始化:与struct一样,可以直接初始化,也可以指定初始化,但由于联合的特性,只能也只需初始化一个成员。


举报

相关推荐

0 条评论