在C语言中,static关键字的引入最先是为了表示 退出一个块后(即退出某个函数之后)仍然存在的局部变量。随后,C中的static 有了第二种含义:用来表示不能被其他文件访问的全局变量和函数。
static 对三个东西进行修饰:局部变量、全局变量、函数。
1、修饰局部变量
static 修饰局部变量时,表示这个变量在这个函数退出之后并不消失,当再次进入这个函数时,这个变量中存放的值还是和退出时候的值一样。当由于它只是一个局部变量,所以它不能被其它函数使用。
2、修饰全局变量
static 修饰全局变量时,使用的是static 关键字的第二种含义,即这个全局变量不能在其他文件中被使用,即使使用extern 关键字也不行。
3、修饰函数
修饰函数的时候也是表示这个函数不能被这个文件之外的文件使用,即使使用extern 关键字也不行。
参考文献:
[1] 陈正冲, 石虎. C语言深度剖析.pdf,第1.3节.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步