【发布时间】:2014-08-04 14:47:17
【问题描述】:
如果我们使用 free() 释放自动变量会发生什么?
在下面的代码中怎么样:如果 n 是 static 在最后一次循环迭代后它会自动释放,我们可以 free 它吗?
for(count = 0; count < 5; count++) {
static int i += 1
}
【问题讨论】:
-
好的,那么静态变量呢?
-
也许这是这个问题的重复:stackoverflow.com/questions/2337972/…
-
@user3121023:为什么要猜?该标准说它存在于程序的整个执行过程中。您可以合法地获取它的地址并在循环甚至包含函数终止后使用它;只有名称
i是循环的本地名称。 -
你的代码片段没有
n。