是这样的
我现在main()外定义了一个
typedef union _unfloat
{
unsigned char bydata[4];
float fdata;
}unfloat;
然后
void main()
{
unfloat qq;
while(1);
}
为什么编译说我没定义unfloat 和qq????
老兄,你确定想要这样定义“联合”吗?float类型在51里可是占三个字节,而同在联合中的数组定义了四个字节。
引用: 引用 6 楼 jiqiang01234 的回复:
老兄,你确定想要这样定义“联合”吗?float类型在51里可是占三个字节,而同在联合中的数组定义了四个字节。
不知兄台用的什么编译器。在keil c里float类型在51里确实是4个字节。
谢谢大家了,我试了,把unfloat qq;
写在main()外面就可以了
还有那位老兄,float真的可以是4个字节
不的哦,这个定义可以放里面吧...是不是哦...
我看看....呵呵.
呵呵.我说嘛,没的问题得.可以放main里面的啦...
typedef union _unfloat
{
unsigned char bydata[4];
float fdata;
}unfloat;
typedef union
{
unsigned char bydata[4];
float fdata;
}unfloat;
有区别哦.第一种哈,可以在后面继续进行定义的,但第二种就不能在在后面继续定义联合型变量了.
引用: 引用 14 楼 lchhzjx32226 的回复:
typedef union _unfloat
{
unsigned char bydata[4];
float fdata;
}unfloat;
typedef union
{
unsigned char bydata[4];
float fdata;
}unfloat;
有区别哦.第一种哈,可以在后面继续进行定义的,但第二种就不能在在后面继续定义……
为啥第二种不能继续定义?第二种不能用 unfloat 来定义吗?
再问大家一个关于float性数据在lcd上显示的问题