傻大方


首页 > 潮·科技 > >

C语言关键字 static 的用法



按关键词阅读:

C语言关键字 static 的用法文章插图
【C语言关键字 static 的用法】接上文:C语言的32个关键字
C语言 static 关键字的常见用法有三种:

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


    稿源:(未知)

    【傻大方】网址:http://www.shadafang.com/c/111J2H952020.html

    标题:C语言关键字 static 的用法


    上一篇:Python报错不要慌,这三个关键词帮你解决问题

    下一篇:算法|PageRank、最小生成树:ML开发者应该了解的五种图算法