雅乐网

计算机技术、学习成长

编程 » C/C++ » c语言static关键字的作用详解

c语言static关键字的作用详解

c语言中,static既可以修饰变量(全局变量和局部变量),又可以修饰函数。static类型的变量称为静态变量,如果不初始化则编译器自动初始化为0

static的用法有两种:

1.修饰全局变量 或 函数,用于限定该变量或函数作用域为本文件。(这种限定是针对编译器而言,运行时没有区别)

2.修饰局部变量,用于修改变量的生存周期,维持持久性

1. 局部静态变量

static修饰局部变量的时候,该变量的存储空间由栈变为静态区。

变量的作用域仍然为局部的,但是离开作用域后,静态变量不会被销毁,而是仍然驻留在内存当中,直到程序结束。

如果将静态变量的指针传出后,在作用域之外仍然可以通过指针访问这个变量。

再次调用函数的时候,这个静态变量仍然保持着上次时候的值。

2. 全局静态变量

全局静态变量也是储存在静态区,但是它的作用域仅为本文件。

对于全局变量使用static,可以多个文件中使用相同名字的全局变量而不会发生名字冲突。

3. 静态函数

在函数定义前面加上static,限定该函数只在当前文件中可见。

这样不同的文件可以使用相同名字的函数而不会发生混淆。

如果文章对你有帮助,欢迎点赞或打赏(金额不限)。你的打赏将全部用于支付网站服务器费用和提高网站文章质量,谢谢支持。

版权声明:

本文由 原创,商业转载请联系作者获得授权。
非商业转载请注明作者 雅乐网 ,并附带本文链接:
http://www.yalewoo.com/c_static.html

上一篇:

下一篇:

我要评论

验证码*: 2 + 3 =