37 lines
786 B
C
37 lines
786 B
C
#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;
|
||
}
|