zoukankan      html  css  js  c++  java
  • static关键字(C语言)

      碰到关键字static,总有种傻傻记不清楚的感觉,看《C和指针》,感觉其中对static总结的不错,特地记下来,给自己提个醒,大家也可以参考下。

    来自《C和指针》P42-45

    根据不同的上下文,static关键字有不同的意思:

    1. 当static用于函数定义,或用于代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从extern改为internal,但标识符的存储类型和作用域不受影响。用这种方式声明的函数或变量只能在声明它们的源文件中访问。 [注:static只对缺省链接属性为external的声明才有改变链接属性的效果]        
    2. 当static用于代码块内部的变量声明时,static用于修改变量的存储类型,从自动变量修改为静态变量,但变量的链接属性和作用域不受影响。用这种方式声明的变量在程序执行之前创建,并在程序的整个执行期间一直存在,而不是每次在代码块开始执行时创建,在代码块执行完毕后销毁。

     

    来自《C和指针》P39-45

    • 作用域:代码块作用域、文件作用域(代码块之外声明的标识符)、原型作用域(只适用于在函数原型中声明的参数     名)、函数作用域(只适用于语句标签)
    • 链接属性[决定如何处理在不同文件中出现的标识符]:外部(external)、内部(internal)、无(none)
    • 存储类型:静态变量、自动变量、寄存器变量
  • 相关阅读:
    tp5 -- 微信公众号支付
    tp5对接支付宝支付简单集成
    tp5 -- 腾讯云cos简单使用
    PHP 递归无限极下级
    PHP 头部utf-8
    ThinkPHP5.0-多语言切换
    MySQL插入SQL语句后在phpmyadmin中注释显示乱码
    C#中练级orcle数据查询
    sql中递归查询
    sql server数据类型与其他数据库数据类型对应关系
  • 原文地址:https://www.cnblogs.com/dreamrun/p/4040288.html
Copyright © 2011-2022 走看看