c 变量存储类型 -寄存器类型


寄存器类型简介

寄存器变量通常被定义在函数内或复合语句中定义。
寄存器的定义方式如下所示:

int main(void)
{
register int a1;
}
寄存器变量运行时,通常会被存储在cpu的通用寄存器中,因为数据被存储在寄存器中,所以cpu获取数据的速度非常快,
因此我们通常把使用频率高,
常被修改的极少数变量定义为register存储类型,
当一个系统中很多程序都定义了很多register类型的变量,那么可能会导致这些定义都会被视为未分配为register类型,而作为auto类型运行。


寄存器类型被分配的条件

只有当cpu有空闲的寄存器和变量所表示的长度不超过寄存器的位长时,此时register类型变量才会被分配到cpu寄存器。

寄存器类型作用域及生命期

寄存器类型变量的作用域及生命期同auto类型变量一样,都是结构体有效。