假设我在 C 函数中声明了一个静态变量。
如果我多次调用该函数,每次调用该函数时静态变量是否都会在内存中重新分配?
如果它确实被重新分配,为什么最后的值总是保持不变?
例子:
void add()
{
static int x = 1;
x++;
printf("%d\n",x);
}
int main()
{
add(); // return 2
add(); // return 3
add(); // return 4
}
最佳答案
否 - 静态变量基本上是位于本地命名空间内的全局变量。
关于c - 每次调用父函数时是否重新分配 C 中的静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1703980/