C_learn/3_lesson/08_var_local_static/main.c

37 lines
786 B
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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;
}