这两种定义有啥区别啊?

[复制链接]
3183|12
 楼主| z994051 发表于 2007-7-26 09:26 | 显示全部楼层 |阅读模式
单片机C语言里,我看到两种定义位变量的方法:
Byte bval  :1;
Bool bval   :1;

请问,这两个定义有啥区别啊??

谢谢了
 楼主| z994051 发表于 2007-7-26 09:58 | 显示全部楼层

晕了,有人看,咋没人回答啊

哎,应该是没区别吧
但我想有点细微区别,不知道谁知道?
告诉我好吗
ayb_ice 发表于 2007-7-26 11:15 | 显示全部楼层

Byte和Bool的区别...

wjy1107 发表于 2007-7-26 11:19 | 显示全部楼层

布尔变量只能是真的假的

 楼主| z994051 发表于 2007-7-26 13:15 | 显示全部楼层

但他后面:!就定义了是位变量啊

那Byte bval :1  啥意思呢
zhiwei 发表于 2007-7-26 22:02 | 显示全部楼层

没有

见过这种定义方式,不知道是否是标准C的,还是C++的。
dai_weis 发表于 2007-7-26 22:07 | 显示全部楼层

说一下编译器环境,标准的没有见过

fsaok 发表于 2007-7-26 22:30 | 显示全部楼层

2种我都没见过

我真落伍,哈哈
yuyixuanta 发表于 2007-7-26 23:19 | 显示全部楼层

这样的

前面的Byte和Bool决定了在存储地址处按照什么方式来取数据,后面的1决定了取其中的一位.
个人觉得定义位域最好采用unsigned int 或者unsigned char 类型.
另外上述定义了位域,而非位变量,在单片机(确切的说是在51系列中)中,位变量用sbit定义,是其独有的.而位域只要是标准c都会支持,他的位数不限于1位.
Hotpοwer 发表于 2007-7-27 01:47 | 显示全部楼层

楼上的51用sbit定义位变量?

ayb_ice 发表于 2007-7-27 07:31 | 显示全部楼层

"那Byte bval :1 啥意思呢"

这可是标准C的东东...
Hotpοwer 发表于 2007-7-28 22:56 | 显示全部楼层

楼上的,标准C里 有Byte关键字?

ayb_ice 发表于 2007-7-29 07:30 | 显示全部楼层

Byte是个宏或是新的数据类型(typedef定义)...

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

本版积分规则

11

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部