注册变量地址

时间:2012-01-05 09:23:05

标签: c++ c

  

可能重复:
  Address of register variable

我知道在c中不允许获取寄存器变量的地址。但是为什么这个代码是用c ++而不是用c编译的。

int main()
{
    register int a;
    printf("%u\n",&a);
}

1 个答案:

答案 0 :(得分:3)

关键字register只是对编译器的提示。事实上,今天大多数编译器都会忽略它,因为它们包含高级代码,无论如何都会选择最佳的寄存器变量候选者。

每当你获取变量的地址时,它通常被置于堆栈中,尽管你使用了register关键字。

相关问题