C语言之static用法

1,static修饰全局变量

  限定变量的作用域。被static修饰的全局变量存储域不变,依然存储在静态存储区,即bss段或data段。但作用域发生改变,被static修饰全局变量只能被本文件的函数访问,对于其他源文件是不可见的,哪怕用extern声明也不可见。

2,static修饰局部变量

  限定变量的存储域。被static修饰的局部变量也叫静态局部变量,其作用域不变,存储域发生变化,默认的局部变量存储在栈中,static修饰的局部变量存储在静态存储区,即bss段或data段。静态局部变量在程序的整个生命周期中存在。

3,static修饰函数

  限定函数的作用域。被static修饰的函数只能被本文件的函数调用,对于其他源文件是不可见的,哪怕用extern声明也不可见。

 

注:限定作用域可以避免不同源文件重名的问题,限定存储域可以避免局部变量被释放。

 

posted @ 2016-06-12 13:57  冰酷飞仔  阅读(388)  评论(0编辑  收藏  举报