关键字——Static的三个修饰对象与对应的作用
1.修饰局部变量
作用:static修饰局部变量——改变局部变量的生命周期
储存数据的类型我么可以分为栈区,堆区,静态区
如图,局部变量在栈区,再被static修饰之后,局部变量的生命周期延长,储存在静态区,变为静态局部变量,而这么做在其所属的函数执行完毕后,它在程序第一次执行func
函数时被初始化,之后函数每次调用,它的值都会在上一次调用结束时的值的基础上进行自增,变量所占用的内存空间会被释放,因此局部变量被tsatic修饰之后可以用来记录函数调用的次数或者保存函数内某些需要跨调用保持的数据。
2.修饰全局变量
作用:修饰全局变量的作用域,一般的全局变量可以通过声明的的方式被调用,但是static
修饰的全局变量只能在定义它的文件中被访问,种用法可以避免不同文件中的同名变量产生冲突,同时也使得程序的模块性更好,因为每个文件中的静态全局变量就像是这个文件的 “私有” 变量,外界无法随意访问和修改。
3,修饰函数:同全局变量一样,被限制在定义它的文件内部,防止其他文件中的函数随意调用这个函数,使得程序的结构更加清晰,每个文件可以有自己的 “私有” 函数,用于内部的模块实现,而不对外暴露。
(声明:该观点仅来自于大一初学c语言的认知,如有错误,欢迎大家指出,也希望大家多多包涵!)
#c语言基础##static关键字的作用#