3.6.5 寄存器变量

寄存器变量被存储在CPU的寄存器中。寄存器变量以关键字register声明,声明格式为“register类型说明符变量标识符,变量标识符……”,示例如下。


register char ch;

register double db;


由于寄存器变量被存储在CPU的寄存器中,因此其读写速度比较快。寄存器变量常用于某一变量名频繁使用的情况,这样做可以提高系统的运算速度。

在使用寄存器变量时需要注意如下两点。

❑由于单片机内部寄存器数量有限,不能定义多个寄存器变量。在实际程序设计中,应将最重要的变量设置为寄存器变量,以提高系统执行速度。

❑在C51中,只允许同时定义两个寄存器变量,如果多于两个,程序在编译时会自动地将两个以外的寄存器变量作为非寄存器变量来进行处理。

提示使用register关键字,只是提示编译器将变量定义为寄存器变量,而不是“命令”编译器必须将指定变量作为寄存器变量。这是因为CPU的寄存器数量是有限的,当没有寄存器可使用时,编译器会将其作为自动变量来进行处理。