[i=s] 本帖最后由 mr_tianwei 于 2012-5-5 07:51 编辑 [/i]
union wei //不加typedef typedef union wei
{ int a; { int a;
char b; char b;
}wei1; }wei1;
wei1.b='A'; wei1.b='A';
printf("%d",wei1.a); printf("%d",wei1.a);
不加typedef 输出结果 65
加 typedef 输出结果 10243256(不确定,有时是负的,初步怀疑是其地址)
求解释 加typedef 的共用体 为什么wei1.a 不是65
mr_tianwei 于 2012-05-05 07:50:44发表:
2# lykginy
哎,突然想起来了,我竟然没有重新声明一个对象。。低级错误
lykginy 于 2012-05-05 00:17:18发表:
我猜想你搞错了typedef的用法
你试一下这个
typedef union
{
int a;
char b;
} WEI;
WEI wei1;
wei1.b = 'A';
printf("%d\n", wei1.a);