static基本作用有三:
1、修饰函数体内部变量:
void test(){
static int i=0;
i++;
cout<<i<<endl;
}
int main(){
test();
test();
return 0;
}
main的执行结果为1和2;说明第二次test调用时 static int i=0;不起作用。所以说函数体内静态变量在调用过程中
的值不变。
2、修饰模块内变量(函数体外):内部模块的函数都能调用这个变量,外部模块想通过extern调用就不行
3、修饰模块内函数:模块内能调用该函数,模块外就不行