考虑2个C ++代码:
int main()
{
int j;
cin>>j;
return 0;
}
AND
int main()
{
for(int j;;)
// Do Something
for(int j;;)
// Do Something
for(int j;;)
// Do Something
}
这2段代码是占用内存中的相同空间还是j的声明一次又一次增加空间。
请帮助。
答案 0 :(得分:0)
变量的范围是从变量的起始位置到最后使用的位置。
编译器可能为j使用不同的内存插槽(或寄存器),因为将每个新变量枚举到一个新位置比较容易。
编译器可能为j使用相同的内存(或寄存器)插槽,因为它可以编写更快的代码。