zoukankan      html  css  js  c++  java
  • 35 static 关键字

    1,static关键字在C语言中比较常用,能够恰当的大大提高程序的模块化特性,有利于扩展和维护。

    2,局部变量使用static修饰

      ①局部变量被 static 修饰后,我们称为 静态局部变量

      ②对应静态局部变量在声明时未赋初值,编译器也会把它初始化

      ③静态局部变量存储于内存的静态存储区(全局性质),只会被初始化一次,即使函数返回,它的值也会保持不变

      

    3,全局变量使用 static 修饰

      ①普通全局变量对整个工程可见,其他文件可以使用 extern 外部声明后直接使用,也就是说,其他文件不能再定义一个与其相同名字的变量了(否则编译器会认为它们是同一个变量),静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。

      ②定义不需要与其他文件共享的全局变量时,加上 static 关键字 能够有效的降低程序模块之间的耦合,避免不同文件同名变量的冲突,且不会被误使用

       demo1.c

          

        demo2.c

          

     4,函数使用 static 修饰

      ①函数的使用方式与全局变量类似,在函数的返回类型前加上 static ,就是静态函数

      ②非静态函数可以在另一个文件中通过 extern 引用

      ③静态函数只能在声明它的文件中可见,其他文件不能引用该函数

      ④不同的文件可以使用相同名字的静态函数,互不影响

        demo1.c

          

        demo2.c

          

         demo2.c

          

         

          

  • 相关阅读:
    【原】从/dev/null重新打开标准输出
    Go 接口转换的一个例子
    关于软件编译安装的出错处理
    【原】GO 语言常见错误
    HP平台由于变量声明冲突导致程序退出时的core
    动态链接库加载出错:cannot restore segment prot after reloc: Permission denied
    Windows VC++常见问题汇总
    .net:System.Web.Mail vs System.Net.Mail应该用哪个
    网络管理的功能
    Hello World! — 用 Groovy 编写的 Java 程序
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12349916.html
Copyright © 2011-2022 走看看