C语言中由Static 定义的变量的作用范围

如题所述

关键字static的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
•; 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
•; 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
•; 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

例子可以参考我的下面URL
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-03
作用于整个程序中,相当于全局变量 ,不过它可以定义在程序的任何地方,比如函数内,只要变量前加了 static ,这部分变量对应的内存就不会被回收,直到程序结束。
第2个回答  2011-05-03
static有两个用途:1.在函数中用来定义变量时,使这个变量变为一个静太分配的变量,也即函数调用结束后该变量仍然存在,并且他只会初始化一次,且这个初始化是在编译阶段完成的.
2.在函数外用来定义变量时他会使得这个变量只在该文件中可见,也即其他文件是无法访问的,哪怕加了extern!
第3个回答  2011-05-03
作用于整个程序中,属于全局变量

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网