8202|17

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急!!!!!跪求各位高手关于keil 3结构体定义的问题 [复制链接]

是这样的
我现在main()外定义了一个
typedef union  _unfloat
{
  unsigned char bydata[4];
  float fdata;
}unfloat;


然后
void main()
{
     unfloat qq;
     while(1);
}

为什么编译说我没定义unfloat 和qq????

最新回复

再问大家一个关于float性数据在lcd上显示的问题   详情 回复 发表于 2010-4-14 16:27
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
楼主可以的啊,,,
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我试过了,没问题啊
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

4
 
关注一下
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
就是,这肯定没问题啊,是不是设置错了?
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
放在main函数前面
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 
老兄,你确定想要这样定义“联合”吗?float类型在51里可是占三个字节,而同在联合中的数组定义了四个字节。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
似乎没有问题啊
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 6 楼 jiqiang01234 的回复:
老兄,你确定想要这样定义“联合”吗?float类型在51里可是占三个字节,而同在联合中的数组定义了四个字节。


不知兄台用的什么编译器。在keil c里float类型在51里确实是4个字节。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢大家了,我试了,把unfloat qq;
写在main()外面就可以了
还有那位老兄,float真的可以是4个字节
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
确实是4个字节,我记错了。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

12
 
mark ,
  1. typedef union _unfloat
  2. {
  3.   unsigned char bydata[4];
  4.   float fdata;
  5. }unfloat;
  6. typedef union
  7. {
  8.   unsigned char bydata[4];
  9.   float fdata;
  10. }unfloat;
复制代码

这2写法有区别吗?我都习惯用第二种
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

13
 
不的哦,这个定义可以放里面吧...是不是哦...
   我看看....呵呵.
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

14
 
呵呵.我说嘛,没的问题得.可以放main里面的啦...
      
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

15
 
typedef union _unfloat
{
  unsigned char bydata[4];
  float fdata;
}unfloat;
typedef union
{
  unsigned char bydata[4];
  float fdata;
}unfloat;
有区别哦.第一种哈,可以在后面继续进行定义的,但第二种就不能在在后面继续定义联合型变量了.
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 14 楼 lchhzjx32226 的回复:

typedef union _unfloat
{
  unsigned char bydata[4];
  float fdata;
}unfloat;
typedef union
{
  unsigned char bydata[4];
  float fdata;
}unfloat;
有区别哦.第一种哈,可以在后面继续进行定义的,但第二种就不能在在后面继续定义……

为啥第二种不能继续定义?第二种不能用 unfloat 来定义吗?
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 14 楼 lchhzjx32226 的回复:
typedef union _unfloat
{
  unsigned char bydata[4];
  float fdata;
}unfloat;
typedef union
{
  unsigned char bydata[4];
  float fdata;
}unfloat;
有区别哦.第一种哈,可以在后面继续进行定义的,但第二种就不能在在后面继续定义联合……


这两种都是可以定义变量的哈!


  1. typedef union _unfloat
  2. {
  3.   unsigned char bydata[4];
  4.   float fdata;
  5. }unfloat;

  6. void main()
  7. {
  8.   unfloat qq;
  9.   while(1);
  10. }
复制代码

我也是keil3,这么用没有问题
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

18
 
再问大家一个关于float性数据在lcd上显示的问题
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表