静态变量有一个局部作用域,但在函数退出时不会被销毁。因此,静态变量在程序生命周期内保持其值,并且每次重新输入函数时都可以访问它。
静态变量在声明时初始化,并且需要前缀static。
以下程序使用静态变量:
#includevoid say_hello(); int main() { int i; for (i = 0; i < 5; i++) { say_hello(); } return 0; } void say_hello() { static int num_calls = 1; printf("Hello number %d\n", num_calls); num_calls++;
程序运行结果
Hello number 1 Hello number 2 Hello number 3 Hello number 4 Hello number 5