static应用主要有三个方面:
如果定义的static变量为全局变量
(1)这个static变量加载运行时会被存放在static数据区,并且会被初始化;
(2)在一个大工程中假如有很多.c文件,假如这个变量被定义为static那么它的可见区域仅仅在当前文件,对于其他.c文件不可见
如果用static修饰函数
这个函数只在当前的.c文件中可见,在其他.c文件中不可见
如果static变量为函数体里面的局部变量
这个函数不管被调用多少次,这个static变量始终都只有一个实体而且只会被初始化一次,不像automatic变量那样每次调用该函数都会重新生成和初始化
例如:
第一次调用返回结果:0
第二次调用返回结果:1
第三次调用返回结构:2
......