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。