- 浏览: 1214148 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (434)
- js (20)
- struts2 (77)
- spring (11)
- hibernate (17)
- ssh整合 (9)
- 程序例子 (4)
- 正则表达式 (8)
- JSP (20)
- IDE (15)
- 数据库 (10)
- 工作经验技巧感悟 (21)
- 程序员的幽默 (4)
- windows设置 (4)
- 名词解释 (4)
- 技术入门 (4)
- jFreeChart (16)
- OGNL (5)
- java基础 (46)
- dwr (4)
- portal (1)
- 示例用到的附件 (0)
- 优秀程序员45个习惯 (1)
- webService (1)
- shell (3)
- ibatis (3)
- 开发工具 (1)
- OS (3)
- xmlbean (2)
- design_pattern (0)
- error (1)
- testng (2)
- python (18)
- hadoop (21)
- mapreduce (9)
- Hive (0)
- HBase (0)
- ubuntu (22)
- 多线程 (7)
- 自我改进 (6)
- 设计模式 (1)
- ssh (2)
- ant (4)
- guake (2)
- 云计算 (9)
- hdfs (3)
- 大数据 (1)
- 电信业务 (1)
- maven (2)
- svn (5)
- UML (1)
- 待处理问题 (2)
- log4j (1)
- css (1)
- LevelDb (0)
- thrift (6)
- 辅助工具 (3)
- 算法 (1)
- tornado (0)
- twisted (1)
- jvm (0)
- 图书 (1)
- 其他 (1)
- oracle (2)
- mvn (1)
- 私人信息 (0)
- nio (1)
- zookeeper (1)
- JavaIO (3)
- mongodb (1)
- java-高级 (6)
- spring-深入 (1)
- tomcat (1)
- quartz (1)
- 面试题 (1)
- redis (3)
- EJBCA (0)
- spring-3.0 (1)
- memcache (3)
- 性能检测 (1)
- android (0)
- 开源项目 (1)
- 将博客搬至CSDN (0)
- 架构之路 (1)
最新评论
-
pjwqq:
“子类对象”都拥有了“父类对象的一个实例的引用”我晕,应该是“ ...
java继承--父类属性的存放位置 -
gwgyk:
关于楼主最后的问题,我想可能是这样:InputFormat默认 ...
eclipse 运行hadoop wordcount -
fanjf:
上述7点基本具备,可惜现在因为项目需要,做管理方面工作!
如何判断自己是否具有成为一名优秀程序员的潜质 -
摸爬滚打NO1:
链接已经失效
Eclipse添加JSEclipse 插件(js插件) -
younglibin:
看了以上7条, 自己 也不知道是否能够对上, 感觉没一点都有那 ...
如何判断自己是否具有成为一名优秀程序员的潜质
1、 初始化。
全局static变量的初始化在编译的时候进行。在main函数被调用之前初始化,并且,只初始化一次 。
函数static变量在函数中有效,第一次进入函数初始化。以后进入函数将沿用上一次的值。
2、 生存期。
生存期,是main第一次执行,直到程序结束。比如下代码:
#include <stdio.h> #include <stdlib.h> if(true) { static int m=10; } int c=0; return 0; 尽管m变量在函数内部定义。但是它的生存期直到main函数执行完才结束。而非出了if语句的括号函数就结束。这是因为static变量不是存放在堆栈中的,而是存放在全局静态数据区中。 1、 作用域。 如果在{}中定义了static变量,则其作用域为{}内。例如上面的m变量就只能在{}内访问。如果有如下的代码: #include <stdio.h> #include <stdlib.h> if(true) { static int m=10; } int c=0; printf("%d",m); return 0; 将在printf处报错:“error C2065: 'm' : undeclared identifier”。指示该变量没有定义。 如果将static变量定义为全局的。则其拥有文件作用域:只在声明的文件中有效,其他源文件中不可见;同时有了static的生命周期。
如下: //source.cpp #include <stdio.h> #include <stdlib.h> int m=3; if(true) { m=10; } int c=0; printf("%d",m); return 0; 则static变量在source.cpp文件中有效。 \
int main()
{
}
int main()
{
}
int main()
{
}
发表评论
-
java驼峰转下划线
2014-12-22 17:45 5285private String underscoreName ... -
java正则表达式
2014-10-11 10:55 0http://pan.baidu.com/s/1pJ2WVSv ... -
java递归和迭代的区别
2014-09-15 18:27 877能使用迭代的不适用递归,另外一半递归有明确的父子关系或者 数 ... -
java术语(PO/POJO/VO/BO/DAO/DTO)
2014-01-21 17:43 1122PO(persistant object) 持久对象在o/r ... -
outOfMemeoryError处理
2013-12-09 18:41 1244outOfMemeoryError处理(使用hprof) ... -
字节与字符的转化接口
2013-12-02 20:44 954字节与字符的转化接口 另外数据持久化或网络传输都是以字节进 ... -
深入分析 Java I/O 的工作机制
2013-12-02 20:19 859I/O 问题可以说是当今互联网 Web 应用中所 ... -
java 参数太多怎么处理
2013-11-27 18:29 2550java参数太多 解决方案一共有5种: 1.自定义参 ... -
ByteBuffer的allocate和allocateDirect
2013-11-20 16:48 5656在Java中当我们要对数据进行更底层的操作时,通常是操作数据 ... -
LinkedListMultimap用法
2013-11-14 16:52 5270public static void main(S ... -
5种IO模型的图解分析和比较
2013-12-02 20:17 2349Unix 5种IO模型的图解分析和比较 (转自http: ... -
long 转换为 byte后正确排序
2013-10-28 16:02 1526关于 java中long类型数据转换为byte[]数组 ... -
thrift 客户端链接池
2013-10-25 13:33 892thrift 没有实现链接池的功能,附件为thrift的链接池 ... -
java stream
2013-10-25 11:28 964经常在使用网络数据传输的时候,小数据使用 打包传输,大数据使 ... -
int转byte[],byte[]转int
2013-10-21 15:56 1239public byte[] intToByte(int i) ... -
java socket编程
2013-10-17 15:56 980http://www.cnblogs.com/linzhen ... -
prepareStatement与Statement的区别
2013-10-08 18:09 1187关于jdbc的详细介绍参照官方文档: http://do ... -
连接池
2013-09-29 14:24 0http://www.ibm.com/developerwor ... -
JAVA String.format 方法使用介绍
2013-09-06 17:02 4122public static void main(Strin ... -
java的System.getProperty()方法可以获取的值
2013-09-02 11:01 904java.version Java ...
相关推荐
C语言中的变量和函数的作用域与生存期是编程中至关重要的概念,它们直接影响到代码的组织和执行效率。首先,我们来详细了解这些知识点。 **作用域(Scope)**: 作用域指的是变量或函数在程序中可见的范围。C语言中...
- **静态变量(Static)**:静态变量的生存期跨越整个程序执行,即使定义在函数内部,它们也只在程序启动时初始化一次,直到程序结束才销毁。 - **全局变量**:全局变量的生存期从程序开始到程序结束,始终存在。 ...
### 第16章 变量作用域和生存期上机指导 #### 一、引言 在本章节中,我们将深入探讨C语言中的变量作用域和生存期,并通过实际编程练习来加深理解。变量是程序设计中最基本的概念之一,正确理解和使用变量的作用域和...
1. **生存期与作用域**:静态局部变量的生存期覆盖整个程序,但其作用域仅限于定义它的函数内部。这意味着,即使函数退出,变量依然存在,但在函数外部无法访问。 2. **初始化与默认值**:静态局部变量支持初始化。...
静态变量的生存期从程序开始到结束,而动态变量(如局部自动变量)的生存期从定义到离开其作用域。存储器类型决定了变量存储的位置,如寄存器、静态存储区和动态存储区。 总的来说,理解变量的作用域、生存期和存储...
在C语言编程中,变量的作用域与生存期是理解程序控制流程和内存管理的关键概念。理解这两个概念,不仅可以帮助编写更加清晰和高效的代码,而且对于避免常见的编程错误也至关重要。接下来,我们将详细探讨变量的作用...
变量的存储类型决定了其生存期、作用域以及存储位置。理解这些概念对于有效地管理和优化内存使用至关重要。例如,选择合适的变量类型可以帮助减少不必要的内存分配与回收操作,提高程序性能。此外,合理使用`static`...
`static`关键字主要用于控制变量和函数的作用域以及生存期,尤其在面向过程和面向对象编程中有着显著的差异。本文将深入探讨`static`在C/C++中的各种用途及其背后的机制。 #### 一、面向过程设计中的static ##### ...
一、四种对象生存期和作用域 栈对象隐含调用构造函数(程序中没有显式调用) 堆对象隐含调用构造函数(程序中没有显式调用),要显式释放 全局对象、静态全局对象 全局对象的构造先于main函数 已初始化的全局变量或...
- **局部生存期**:在块作用域中声明的变量,从声明点到块结束。局部变量在每次函数调用时重新初始化。 - **动态生存期**:通过`malloc`、`free`、`new`、`delete`等动态内存管理函数创建和释放的变量,存在于内存...
**变量初始化**并不是强制性的,但强烈建议在使用变量前给其赋值。全局变量和静态变量通常会被初始化为0,而自动变量和动态分配的内存如果不初始化,则可能含有未定义的值,使用前需确保赋值。 **页抖动...
在C和C++编程语言中,`static`关键字有着重要的作用,它主要用于控制变量和函数的作用域和生命周期。下面将详细介绍`static`关键字的三种主要用法以及相关的知识点。 ### 1. 局部静态变量 局部变量通常在函数内部...
- `static`则对应静态存储期,它改变了变量或函数的作用域和生存期,使得它们在整个程序运行期间都存在,但作用域可能被限制在声明它们的文件内。 理解`static`的关键在于它的两个主要特性:作用域限制和持久性。...
- **静态生存期**:变量从程序开始到结束一直存在,例如文件作用域的变量和用`static`修饰的变量。静态变量在内存中的存储是静态分配的。 - **局部生存期**:变量在声明后到作用域结束时存活,如块作用域的自动...
本课件主要探讨了C程序中的块作用域、文件作用域、变量的生存期以及局部变量和全局变量的概念。 首先,我们来看块作用域。块作用域是指在一对花括号“{}”内的代码区域,比如函数体或者控制结构如if或for循环内。在...
(4)选项B是正确的,静态变量的生存期从程序开始到结束。 (5)题中,局部变量a覆盖了全局变量a,但在第二次使用时,全局变量a被递增。所以答案是B) 10。 (6)题考察静态局部变量的累积效果,每次调用f(),s都会...
静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而静态局部变量只对定义自己的函数体始终可见。...