首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于联合的有关问题

2012-04-06 
关于联合的问题我自己觉得本来对联合是清楚的,可是看了两本教程之后,不知道是不是教程讲得不好,觉得自己又

关于联合的问题
我自己觉得本来对联合是清楚的,可是看了两本教程之后,不知道是不是教程讲得不好,觉得自己又胡涂了。

比如定义这样一个联合:

union utag
{
unsigned short int a;
unsigned char b[2];
}u;

那么我用u.b[0]和u.b[1]分别往里面存储数据,然后用u.a读取,这样就可以把两个unsigned char数据合并成一个unsiged short型数据了是吗?相当于u.a = u.b[0] + u.b[1] * 256,对吧?



[解决办法]
union中各成员的起始地址相同,
需要注意的就是大端和小端,
还有各成员的起始地址必须为sizeof(member)的整数倍

热点排行