仅声明变量是否会在程序存储器中为其保留空间?如果没有,请考虑以下代码片段:
void foo(int bar, int baz){
int a;
char b[4];
}
这段代码一旦进入 foo 就会在堆栈中分配一个空间并创建一个激活记录,如下所示:
<小时/>|巴兹 |
<小时/>|栏 |
<小时/>|保存的电脑 |
<小时/>|一个|
<小时/>| b |
那么,即使 a 和 b 仅被声明但未定义,该激活记录如何为它们分配空间?
最佳答案
a
和 b
已定义但未使用。由于程序无法判断它们是否已创建,因此编译器可以随意忽略它们。
关于c++ - 为变量和激活记录保留空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762772/