今天我们聊聊c语言中的一个关键字 — static (静态的)
在c语言中:
static可以用来修饰全局变量,局部变量以及函数并产生不同的效果
1.修饰局部变量 — 生命周期延长为整个程序的生命周期,但其作用域不变
2.修饰全局变量 — 作用域缩小为该全局变量所在的文件内部(本来是整个工程),但其生命周期不发生变化
3.修饰函数 — 和修饰全局变量产生的效果类似
一 修饰局部变量
下面我们先分析下段代码
我们可以看到这里打印出了10个2,因为第一次进入test函数,会创建i变量并赋值为1,而出函数就会销毁i变量,下一次再进入test函数变量i又会重新创建并赋值为1,经i++被重新赋值为2,调用了10次test函数,则打印出了10个2
下面我们对这段代码稍作改动,在 int i 前加上static