17Enjoy8

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
1、结构和联合都是有多个不同数据类型的成员组成,但是在任何同一时刻,联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。
2、对联合的不同成员赋值,将会对其他成员重写,而结构不存在。
View Code
1 union{
2 int i;
3 struct
4 {
5 char first;
6 char second;
7 }half;
8 }number;
9 number.i=0x4241; /*联合成员赋值*/
10 printf("%c%cn", number.half.first, mumber.half.second);
11 number.half.first='a'; /*联合中结构成员赋值*/
12 number.half.second='b';
13 printf("%xn", number.i);
14 AB (0x41对应'A',是低位;Ox42对应'B',是高位)
15 6261

posted on 2011-05-26 22:42  17Look8  阅读(538)  评论(0)    收藏  举报