7.3.3 bit型变量

bit型变量即位变量,可用于变量类型、函数声明、函数返回值等场合。位变量在C语言里是外部变量,但编译系统不对其进行初始化,因此必须在程序中初始化位变量,其定义的一般形式如下。


bit变量名


采用bit定义的位变量将存放于内部RAM(20H~2FH)。bit型变量的定义示例如下。


extern bit ch;//定义外部bit型位变量ch


再例如:


bit flag;

flag=1;


该语句定义了一个位变量flag,然后为该变量赋值为1。在C51语言中,使用bit定义变量,应注意以下几点。

❑bit型位变量不能作为自动变量和函数内的静态变量。

❑不能定义bit型数组,例如bit arr[10]是错误的。

❑位变量不能作为结构体和联合体的成员。

❑一个bit变量不能声明为指针,例如bit*ptr是错误的。

❑位变量不能作为函数的参数,但是可以定义函数的返回值。

❑用“#pragma disable”声明的函数和使用“usign”声明的函数,不能返回bit值。

❑和位变量运算的操作数只能是0和1。

❑某些运算符不能用于位变量,例如*、&和sizeof。