static
链接:static静态变量的理解 - dzqdevin - 博客园 (cnblogs.com)
C语言中static的用法(修饰局部变量,修饰全局变量,修饰函数)_static在c语言中的用法_ww here的博客-CSDN博客
c语言中static关键字用法详解_static在c语言中的用法_guotianqing的博客-CSDN博客
static的三种用法:
(1)修饰局部变量,静态局部变量
(2)修饰全局变量,静态全局变量
(3)修饰函数,静态函数
静态局部变量
(1)静态局部变量在编译时赋初值。即使声明时未赋初值,编译器也会将它初始化为0;编译器一般不会对普通局部变量赋初值,也就是在初始化的时它的值是不确定的。
(2)静态局部变量在函数调用结束后,其占的内存空间不会被释放掉。下次调用时该变量还会保留上次函数调用结束的值,而不是初始化的值。
(3)静态局部变量本质上还是局部变量,所以它的作用域还是在被定义的函数内部。
(4)数据在全局数据区分配内存,所以它存放在RM中的数据段或者BSS段。
静态全局变量
(1)全局变量编译器会自动对其初始化,在全局数据区分配存储空间。
(2)作用域是在被定义的.c文件中,其他文件是不可以调用该全局变量的。不具有外部链接属性。所以其他文件可以定义同名的静态局部变量,两者互不影响。
静态函数
(1)只能在声明它的文件可见,其他文件不可调用。
(2)不同的文件名可以声明相同名字的静态函数,互不影响。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)