C 语言中 'register' 和 'int' 的区别
在 C 语言中声明变量时,开发者可以使用 'register'关键字提示编译器特定变量应驻留在处理器寄存器中而不是内存中。例如,考虑以下代码:
int x = 7;
和:
register int x = 7;
这两个示例之间的区别在于“register”关键字的用法。在第一种情况下,“x”变量被声明为整数并将驻留在内存中。在第二种情况下,“register”关键字向编译器建议将“x”存储在处理器寄存器中是有益的。
但是,需要注意的是,编译器可以自行决定忽略这一点建议。正如 Herb Sutter 在“不是的关键字(或另一个名字的评论)”中断言:
“寄存器说明符与自动说明符具有相同的语义......”
换句话说,使用“register”只是指示编译器以类似于“auto”关键字的方式分配“x”,这对变量的位置没有特定的影响。因此,虽然“register”传达了对寄存器存储的偏好,但其实际实现由编译器自行决定。
以上是C 中的'register”和'int”有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!