【发布时间】:2012-03-04 04:00:45
【问题描述】:
考虑以下 C 函数。
打开大括号以创建本地范围是否会使编译器在堆栈上创建记录以维护范围中声明的变量?
void function()
{
int q,r;
...
{
int i = 0;
int j = 3;
q = j + 1;
}
...
}
如果是这样,编译器对 while 块的行为是否相同?
示例:
void function()
{
int q,r;
...
while(conditions)
{
int i = 0;
int j = 3;
q = j + 1;
}
...
}
【问题讨论】: