static关键字的作用和用法(C语言学习笔记—static关键字)
1 、static修饰局部变量
在函数体内 ,只初始化一次 ,被static声明过的局部变量在调用过程中值不变 。原因:在任意函数内定义局部变量 ,存储在线程中的栈区 ,出函数时自动摧毁 ,所以在每次调用这个函数时 ,局部变量的初始值都为定义的值在进行运算 。static在修饰局部变量时 ,存储在静态区 ,函数返回时值保持不变 ,出函数不销毁 ,下一次进入函数依然存在 。
上述代码运行结果为11,11,11,12 。主要是因为static定义过的局部变量存储在静态变量区 ,在调用过程中值不变 。
2 、static修饰全局变量
被static声明过的全局变量无法被其他文件调用 ,只能被当前文件所调用,其他文件可以定义与其同名的变量 ,两者互不影响 。未被static声明过的全局变量加extern关键字可以被调用 。 在定义不需要与其他文件共享的全局变量时 ,加上static关键字能够有效地降低程序模块之间的耦合,避免不同文件同名变量的冲突 ,且不会误使用 。
3 、static修饰函数
和全局变量类似 ,被static声明过的函数无法被其他文件调用 ,只能被当前文件所调用 。不同文件可以使用相同名字静态函数 ,非静态函数可以在另一个文件直接引用 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!