关键字——Static的三个修饰对象与对应的作用

1.修饰局部变量

作用:static修饰局部变量——改变局部变量的生命周期

储存数据的类型我么可以分为栈区,堆区,静态区

如图,局部变量在栈区,再被static修饰之后,局部变量的生命周期延长,储存在静态区,变为静态局部变量,而这么做在其所属的函数执行完毕后,它在程序第一次执行func函数时被初始化,之后函数每次调用,它的值都会在上一次调用结束时的值的基础上进行自增,变量所占用的内存空间会被释放,因此局部变量被tsatic修饰之后可以用来记录函数调用的次数或者保存函数内某些需要跨调用保持的数据。

2.修饰全局变量

作用:修饰全局变量的作用域,一般的全局变量可以通过声明的的方式被调用,但是static修饰的全局变量只能在定义它的文件中被访问,种用法可以避免不同文件中的同名变量产生冲突,同时也使得程序的模块性更好,因为每个文件中的静态全局变量就像是这个文件的 “私有” 变量,外界无法随意访问和修改。

3,修饰函数:同全局变量一样,被限制在定义它的文件内部,防止其他文件中的函数随意调用这个函数,使得程序的结构更加清晰,每个文件可以有自己的 “私有” 函数,用于内部的模块实现,而不对外暴露。

(声明:该观点仅来自于大一初学c语言的认知,如有错误,欢迎大家指出,也希望大家多多包涵!)

#c语言基础##static关键字的作用#
全部评论

相关推荐

点赞 评论 收藏
分享
01-23 14:54
同济大学 Java
热爱敲代码的程序媛:给你提几点【专业技能】这个模块里面可优化的地方:1.【具备JVM调优经验】可以去b站上搜一下JVM调优的视频,估计一两个小时凭你的学习能力就能掌握JVM调优的实践方面的技能。2.【MySql优化】MySql这一栏,你去b站或者找个博客看看MySql优化,学一下,如果你本身比较熟悉MySql语句的话,那基本半天时间凭你的学习能力MySql语句优化方面的技能你也能掌握个差不多。以上1,2两点主要是因为我看你专业技能大部分都说的是偏理论,没有写应用。再就是最后,你结合你的项目,想一想你的项目中哪些sql语句是可以用MySql优化的,到时候你面试的时候也好结合着说一下。
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

更多
牛客网
牛客企业服务