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

      

 

     

      

posted @ 2020-02-23 15:12  shanlu  阅读(95)  评论(0编辑  收藏  举报