#include <stdio.h>

// 定义一个静态局部变量
// 在函数内部定义的使用static修饰的变量就是静态局部变量

void myfun()
{
    // 如果普通局部变量不进行初始化，则默认是随机值
    // 如果静态局部变量不进行初始化，则默认是0
    int a;  // 普通局部变量
    static int num; // 静态局部变量

    printf("a = %d\n", a);
    printf("num = %d\n", num);
}

void myfun1()
{
    // 静态局部变量不会随着当前函数执行结束而释放空间，下次使用的还是之前的空间
    // 静态局部变量只会初始化一次
    static int num = 100;
    num++;

    printf("num = %d\n", num);
}

int main(int argc, char *argv[])
{
    myfun();

    myfun1();
    myfun1();
    myfun1();

    return 0;
}
