c - 为什么“static”关键字在 C 语言中有如此多样的用法?
问题描述
我熟悉 C 中关键字“static”的几种用法:
- 函数内的静态变量将在函数调用之间保持其值。
- 文件中的静态(全局)变量不能在声明它们的文件之外访问。
- 不能在声明它们的文件之外访问静态函数。
- 这种晦涩的用法是作为数组类型声明的一部分作为函数的参数。
第一次使用与实体的生命周期有关,第二次和第三次使用与实体的可见性有关,第四次使用与优化有关,我觉得奇怪的是,一个关键字会根据它的位置表现出如此不同的作用用来。在编译器中通常如何实现静态,是否有一些奇怪的细节可以让这个关键字轻松完成上述所有操作?“静态”提供的导致这些不同行为的底层功能是什么?
解决方案
推荐阅读
- android - LinearLayout 仍然没有缩放
- c# - 如何从 xmlnode C# 获取内部文本
- terminal - wget -v -t=5 --no-clobber -x http://www.website.com/ 当我在终端运行这个命令时,这个网站会发生什么?
- node.js - 无法使用纱线在 Laravel 中安装 UIkit 3
- node.js - 使用正则表达式在 Couchdb 查找请求上出现无效的 UTF-8 JSON 错误
- kotlin - Kotlin:获取另一个范围内的范围值
- airflow - 您如何访问 Airflow Web 界面?
- c# - 为每一行调用存储过程不起作用
- xamarin.forms - 直观地编辑 Xamarin 表单页面
- html - 为什么html的嵌套列表不起作用?