c 语言中 bit与sbit的区别

[复制链接]
查看11 | 回复5 | 2019-7-9 10:59:20 | 显示全部楼层 |阅读模式
不是C语言里的,而是C51里面的。区别在于功能不同:bit:是变量类型,相当于boot 只占一个位,最多可定128个bit变量。sbit:是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。扩展资料:单片机中C语言sbit使用方法——1、bit位标量。bit位标量是c51编译器的一种扩充数据类型,利用它可以定义一个位标量,但是不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0或1,类似boolean中的true和false。2、sfr特殊功能寄存器。sfr也是一种...
回复

使用道具 举报

千问 | 2019-7-9 10:59:20 | 显示全部楼层
一、意思不同bit是变量类型,相当于boot 只占一个位,最多可定128个bit变量,sbit是给可位寻址的变量(或特殊功能寄存器)的某一个位定个别名,不另占空间。如:bit YesOrNo; ...
回复

使用道具 举报

千问 | 2019-7-9 10:59:20 | 显示全部楼层
bit和sbit这两者不是C语言里面的,而是C51里面的;bit和sbit的区别在于两者功能不同,具体如下:bit是变量类型,相当于boot 只占一个位,最多可定128个bit变量,而sbit是给...
回复

使用道具 举报

千问 | 2019-7-9 10:59:20 | 显示全部楼层
bit和sbit都是C51扩展的变量类型。 bit和int char差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非指定,否则这个地址是随机分配的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,和Windows下VC中的BOOL类似。 sbit是对应可位寻址空间的一...
回复

使用道具 举报

千问 | 2019-7-9 10:59:20 | 显示全部楼层
bit : 编译时分配空间
sbit 只能在外部定义全局变量。
sfr(特殊功能寄存器)的bit。SFR是系统指定的内存地址。 bit 动态分配的,有编译器来指定内存地址。 bit和sbit都是C51扩展的变量类型。 sbit 要在最外面定义,就是说必须定义成外部变量.sbit定义的是SFR(特殊功能寄存器)的bi...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行