您的位置:首页 > 其它

C Primer Plus学习 三十六 寄存器变量

2016-10-13 10:36 134 查看
        通常,变量存储在计算机内存中。如果幸运,寄存器变量可以被存储在CPU寄存器中,或更一般地, 存储在速度最快的可用内存中,从而可以比普通变量更快地被访问和操作。因为寄存器变量多是存放在一个寄存器而非内存中,所以无法获得寄存器变童的地址。但在其他的许多方面,寄存器变量与自动变量是 一样的。也就是说,它们都有代码块作用域、空链接以及自动存储时期。通过使用存储类说明符register可以声明寄存器变量:

int main (void)
{
register int quick;



       我们说“如果幸运”是因为声明一个寄存器类变量仅是一个请求,而非一条直接的命令。编译器必须 在您的请求与可用寄存器的个数或可用高速内存的数量之间做权衡,所以您可能达成不了自己的愿望。这 种情况下,变量成为一个普通的自动变量;然而,您依然不能对它使用地址运算符。

        可以把一个形式参量请求为寄存器变量。只需在函数头部使用register关键字:

void macho (register int n)
        可以使用register声明的类型是有限的。例如,处理器可能没有足够大的寄存器来容纳double类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: