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类型。
int main (void)
{
register int quick;
}
我们说“如果幸运”是因为声明一个寄存器类变量仅是一个请求,而非一条直接的命令。编译器必须 在您的请求与可用寄存器的个数或可用高速内存的数量之间做权衡,所以您可能达成不了自己的愿望。这 种情况下,变量成为一个普通的自动变量;然而,您依然不能对它使用地址运算符。
可以把一个形式参量请求为寄存器变量。只需在函数头部使用register关键字:
void macho (register int n)
可以使用register声明的类型是有限的。例如,处理器可能没有足够大的寄存器来容纳double类型。
相关文章推荐
- C Primer Plus学习计划
- 学习C++ Primer Plus 存储作用域、链接性、连续性总结
- C++ Primer Plus学习:第五章 循环和关系表达式(1)
- C++ Primer Plus学习:第七章 函数-C++的编程模块(1)
- C++ Primer Plus学习:第六章 分支语句和逻辑操作符(2)
- C++ Primer Plus 第二章 开始学习C++
- C++ Primer Plus学习:第八章 函数探幽(1)
- C++ Primer Plus学习:第四章 复合类型(5)
- C++ Primer Plus学习:第四章 复合类型(4)
- C++ Primer Plus学习:第七章 函数-C++的编程模块(3)
- C++ primer plus学习:第一章 预备知识
- C++ primer plus 5th 学习日记
- C++ Primer Plus学习:第三章 处理数据(1)
- C++ Primer Plus学习:第四章 复合类型(6)
- C++ Primer Plus学习:第四章 复合类型(2)
- 学习C++Primer Plus 函数探幽总结
- C++ Primer Plus学习:第二章 开始学习C++(2)
- C++ Primer Plus学习:第四章 复合类型(1)
- C++ Primer Plus学习:第五章 循环和关系表达式(3)
- C++ Primer Plus学习:第七章 函数-C++的编程模块(4)