【发布时间】:2009-11-09 21:31:22
【问题描述】:
假设我在 C 函数中声明了一个静态变量。
如果我多次调用该函数,是否每次调用该函数时都会在内存中重新分配静态变量?
如果它确实被重新分配,为什么总是保持最后一个值?
例子:
void add()
{
static int x = 1;
x++;
printf("%d\n",x);
}
int main()
{
add(); // return 2
add(); // return 3
add(); // return 4
}
【问题讨论】:
-
请使用正确的代码格式重新格式化代码 - 每行前使用四个空格。
-
您可以在示例代码中使用代码格式吗?