按关键词阅读:
文章插图
【C语言关键字 static 的用法】接上文:C语言的32个关键字
C语言 static 关键字的常见用法有三种:
- 用于局部变量的修饰符;
- 用于全局变量的修饰符;
- 用于函数的修饰符 。
这样定义的变量通常被称为局部静态变量 , 它的值不会因为函数调用的结束而被清除 , 当函数再次被调用时 , 它的值是上一次调用结束后的值 。
如下面这段代码所示 , 变量 x 是局部变量 , 变量 y 是静态局部变量 。 在调用函数后 , 变量 x 的值会被清除 , 而变量 y 的值则会被保留 。 多次调用该函数 , 变量 x 每次都会从新初始化 , 而变量 y 的值则不会 。
文章插图静态局部变量的特性:
- 存储位置:处于静态存储区 , 当用 static 修饰局部变量的时候 , 它就改变了局部变量的存储位置 , 从原来的栈中存放改为静态存储区;
- 初始化操作:未经初始化的局部静态变量会被程序自动初始化为0(自动对象的值是任意的 , 除非他被显示初始化);
- 作用域:为局部作用域 , 即当定义它的函数结束的时候 , 作用域随之结束(不能被访问) 。 但是静态局部变量在离开作用域之后 , 并没有被销毁 , 而是仍然保存在内存当中 , 直到程序结束 。
2、用于全局变量的修饰符关键字 static 还可用于修饰全局变量 , 该变量在某一个文件中变量 , 但不属于任何一个函数内 , 这样的变量通常称为静态全局变量 。
静态全局变量的存储位置、初始化操作同静态局部变量的特性 , 但其作用域有所不同:静态全局变量可以被该文件内的所有函数访问 , 但不能被其它文件内的函数访问 。
3、用于函数的修饰符关键字 static 还可以用于修饰一个函数 , 这样的函数称之为静态函数 。
定义一个静态函数就是在函数的返回类型前加上 static 关键字 。
静态函数的作用域仅限于本文件 , 不能被其它文件调用 。
文章插图
稿源:(未知)
【傻大方】网址:http://www.shadafang.com/c/111J2H952020.html
标题:C语言关键字 static 的用法