以我的浅薄直观理解,static的作用就相当于一个取平均:
它作为全局变量前缀时,会使得缩小其作用域至其原文件,在其他文件无法使用该变量:
在这里我定义一个全局静态变量example,但在其他文件使用时:
说明这里用不了example
当它作为局部变量的前缀时,可以延长其生命周期。因为是静态储存方式,在函数或复合语句结束时,它变的不可见,但依然存在,当函数或复合语句再次被调用时,静态局部变量不会被再次初始化(这个特性也就常被用于统计函数被调用的次数),而是保持上次的原样。
总之,添加上static,缩小了全局变量的作用域,延长了局部变量的生命周期,因此我说它像是个”去平均“。