static存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用static修饰局部变量可以在函数调用之间保持局部变量的值。
static修饰符也可以应用于全局变量。当static修饰全局变量时,会使变量的作用域限制在它的文件内。
#include<iostream> void func(void); static int count = 10; int main() { while(count--) { func(); } return 0; } void func() { static int i = 5; i++; std::cout << "i的值为:" << i << " count的值为:" << count << std::endl; }