static in c
来源:互联网 发布:央视网络电视 编辑:程序博客网 时间:2024/06/03 17:04
惨痛教训:
假设在test.h中定义了一个static bool g_test=false;
若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变!
一:全局变量:
1)内存中的位置:静态存储区(静态存储区在整个程序运行期间都存在)
2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)
3)作用域:全局静态变量在声明他的文件之外是不可见的。准确地讲从定义之处开始到文件结尾。
2. 局部静态变量:在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量
1)内存中的位置:静态存储区
2)初始化:未经初始化的全局静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化)
3)作用域:作用域仍为局部作用域,当定义它的函数或者语句块结束的时候,作用域随之结束。
注:当static修饰局部变量,局部变量离开作用于时,其仍然在内存中,直到程序结束,只是我们不能访问而已。- static in c
- static in C
- static in c
- static in C/C++
- "static" in C
- static keyword in C
- Static variables in c programming
- Static variable in Objective C
- Objective-C categories in static library
- Objective-C categories in static library
- key word 'static' in c++/java
- Implementation of Static Linked List ( in C/C++ )
- Accessing static Data and Functions in Legacy C
- How to initialize a static const map in c++?
- static.c
- c-static
- static C
- C static
- 如何解决问题
- DSS Live env example
- GNU C与ANSI C
- Zookeeper开源客户端框架Curator简介
- DB2里-818错误原因及解决方法
- static in c
- 插件
- 关于局部刷新
- IIS错误解决
- 黑马程序员_IO回顾01
- Android中的Audio播放:控制Audio输出通道切换
- eclipse myeclipse 快捷键
- Vertical Sidebar Menu
- 程序员的学习和积累