minux 发表于 2011-3-26 22:07

关于共用体的一个问题

在谭浩强老师的一书中关于共用体的使用强调了一点,“共用体变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用”
但是我看到有些程序这么用
union data
{
unsigned int u16;
unsigned char u8;
}data1;
main()
{
   data1.u16=0x1234;
TH0=data1.u8;
TL0=data1.u8;
}
那如果按照谭老师书中的,这种用法就不对了。
但按照共用体的概念,和实践使用中发现,这种用法也是对的,那这不是跟谭老师的书中说的不是矛盾吗?

hgjinwei 发表于 2011-3-27 19:46

有哪里不对?

nazhanghuamian 发表于 2011-3-29 13:01

两个成员共用两个字节的存储,上面例子中是对的。谭老师的意思是最后一次赋值有效。
页: [1]
查看完整版本: 关于共用体的一个问题