变量的补充
普通局部变量
定义形式:在 {} 里面定义的普通变量叫普通局部变量
作用范围:所在的 {} 复合语句之间有效
生命周期:所在的 {} 复合语句执行期间有效
存储区域:栈区
注意事项:
普通局部变量,如果不初始化,内容就不确定
普通局部变量如果同名,就采用就近原则(尽量不要同名)
普通全局变量
定义形式:在函数外面定义的普通变量
作用范围:当前源文件以及其它源文件
生命周期:整个进程
存储区域:全局区
注意事项:
普通全局变量,如果不初始化,内容就为0
普通全局变量和普通局部变量如果同名,优先选择普通局部变量
其它源文件使用全局变量时,必须对该全局变量进行extern声明(extern声明该变量或函数来自其它源文件)
静态局部变量
定义形式:在 {} 加static定义的局部变量就叫静态局部变量
作用范围:所在的 {} 复合语句之间有效
生命周期:整个进程
存储区域:全局区
注意事项:
静态局部变量,如果不初始化,内容就为0
静态局部变量在整个进程中都存在,因此第一次定义有效,后面再定义无效
静态全局变量
定义形式:在函数外加static定义的变量就叫静态全局变量
作用范围:只能在当前源文件使用,其它源文件无法使用
生命周期:整个进程
存储区域:全局区
注意事项:
静态全局变量,如果不初始化,内容就为0
静态全局变量只能在当前源文件使用
全局函数
作用范围:只能在当前源文件使用,其它源文件无法使用
注意事项:
如果其它源文件需要使用,那么需要extern对全局函数进行声明
静态函数
加static修饰的函数
静态成员只能在当前源文件使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)