1.作为变量关键词时,可以修饰全局变量,当修饰全局变量时,变量的作用域在本件中有效,此文件之外的变量不能访问,如果变量初始化后,存储在.data段中,如果变量未被初始化,则存储在.bss段中。
2.当修饰局部变量时,则将变量存储在静态存储区,变量初始化后存储在.data段,如果未被初始化则存储在.bss段,静态局部变量只能被他所包含的作用域使用,而且变量被首次初始化后,将保留变量的延续性,也就是说,如果定义在函数内,如果函数被多次访问,则本次访问的值回是上次修改后的值。这种用法是不被推荐的,为啥呢?因为程序每次被执行后,所得到的结果是不一样的,有点违背了软件的设计原则。用不用完全看你自己的想法啊!
3.static还可以修饰函数,当修饰函数时,函数的作用域在本文件中有效,类似于namespace,如果不形象,那就类比private.
static关键词存在两层意图
最新推荐文章于 2023-10-25 21:57:21 发布