存储类别说明符
auto
auto显示表明变量是自动变量,块内局部和函数头局部变量(非静态局部变量)。主要为了明确表达要使用与外部变量同名的局部变量的意图
register
也只用于块作用域,请求变量用寄存器保存,提高处理速度,因为不在内存中所以地址无法获取。只是请求,编译器不一定响应。响应失败就是普通变量
static
局部静态变量或者内部链接的静态变量。
- 局部静态变量在函数内使用static,变量只能由该函数访问。
- 内部链接静态变量函数外使用static,变量只能同文件内访问
外部变量定义语句和static修饰变量的定义语句在程序载入内存时执行完毕,不会再次执行,外部变量只能初始化一次且必须在定义时进行。
extern
extern说明变量定义在别处。定义在其他文件的外部变量必须使用extern,同文件内的可选。
函数存储类别
函数可以是外部函数(默认)or 静态函数。
double ex_fun(); // 默认外部函数
static double beta(); // 静态函数,只能在同一文件下访问,可以避免不同文件间函数名冲突,其他文件可以使用相同函数名
extern double delta(); // 显示表明当前文件中使用的函数定义在别处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?