static变量 及 作用域控制
一、static变量
static变量放在函数中,就只有这个函数能访问它;放在函数外就只有这个文件能访问它。 下面我们看看两个函数中重名的static变量是怎么区别开来的(static.c):
#include <stdio.h>
void func1()
{
static int n = 1;
n++;
}
void func2()
{
static int n = 2;
n++;
}
int main()
{
return 0;
}
下面是编译后的部分汇编:
func1:
pushl %ebp
movl %esp, %ebp
movl n.1671, %eax
addl $1, %eax
movl %eax, n.167......
阅读全文