Static 的作用
来源:互联网 发布:华为班车查询软件 编辑:程序博客网 时间:2024/04/29 08:37
关键字static的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。
与auto类型(普通)局部变量相比, static局部变量有三点不同
1. 存储空间分配不同
auto类型分配在栈上, 属于动态存储类别, 占动态存储区空间, 函数调用结束后自动释放, 而static分配在静态存储区, 在程序整个运行期间都不释放. 两者之间的作用域相同, 但生存期不同.
2. static局部变量在所处模块在初次运行时进行初始化工作, 且只操作一次
3. 对于局部静态变量, 如果不赋初值, 编译期会自动赋初值0或空字符, 而auto类型的初值是不确定的.
- 关键字static的作用
- static的作用
- static的作用
- static的作用
- static的作用
- static 的作用
- static的作用
- static的作用总结
- 关键字static的作用
- static的作用
- static关键字的作用
- static的作用
- static的作用
- static的作用
- Static 的作用
- static关键字的作用
- Java Static的作用
- static关键字的作用
- VS2005 如何打开 vs2008 的工程
- jetty cometd ContinuationBayeux cannot be cast to org.cometd.Bayeux的问题
- Linux下如何使用CppUnit进行单元测试
- linux网络编程备忘
- Net中的委托以及事件处理,是现实中的例子
- Static 的作用
- JDT 我自己写的用于跟踪java Thread中的method 调用及exception的工具
- Ubuntu8.04 下编译安装 Desmond2.29
- Ubuntu8.04下安装Boost_1_37
- 补全 compizconfig-settings-manager 让3D更强大
- RH-AS5下安装Desmond
- volatile的作用
- js紧急求助
- 数独的一种实现方式