- 1
- 0
- 约 8页
- 2016-12-29 发布于重庆
- 举报
?google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。 C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错。伴随着不同源文件变量和函数之间的相互引用以及相互独立的关系,产生了extern和static关键字。 下面,详细分析一下static关键字在编写程序时有的三大类用法: 一,static全局变量 我们知道,一个进程在内存中的布局如图1所示: 其中.text段保存进程所执行的程序二进制文件,.data段保存进程所有的已初始化的全局变量,.bss段保存进程未初始化的全局变量(其他段中还有很多乱七八糟的段,暂且不表)。在进程的整个生命周期中,.data段和.bss段内的数据时跟整个进程同生共死的,也就是在进程结束之后这些数据才会寿终就寝。 当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,都是在.data段(已初始化)或者.bss段(未初始化)内,但是它只在定义它的源文件内有效,其他源文件无法访问它。所以,普通全局
您可能关注的文档
- SQLServer2008数据迁移至Oracle10g.doc
- Sqlserver卸载和安装后更改sa密码.docx
- SQLServerAnalysisServices教程(图片).doc
- SQLServer存储过程精解.doc
- sqlserver实验2012(实验1-3).doc
- SQLSERVER数据库索引查询.doc
- sqlserver日期函数datetime应用.doc
- SQLServer组件中定义的各种对象的最大大小和最大数量.doc
- SQLSP4补丁安装图解.doc
- SQL_SERVER2000安装时出现command_line_option_syntax_error.doc
- 2026年中考地理一轮复习知识清单专题11 中国的自然灾害与环境保护(知识清单)(原卷版).pdf
- 2026年中考地理一轮复习知识清单专题11 中国的自然灾害与环境保护(知识清单)(解析版).docx
- 2026年中考地理一轮复习知识清单专题13 中国的经济发展(知识清单)(解析版).pdf
- 2026年中考地理一轮复习知识清单专题13 中国的经济发展(知识清单)(原卷版).docx
- 2026年中考地理一轮复习知识清单专题13 中国的经济发展(知识清单)(原卷版).pdf
- 2026年中考地理一轮复习知识清单专题11 中国的自然灾害与环境保护(知识清单)(解析版).pdf
- 杂志风成都印象旅游宣传画册PPT作品范本23页PPT.pptx
- 城市介绍PPT杭州.pptx
- 第一章 第5讲 氧化还原反应方程式的配平及计算(教师版).pdf
- 高三化学一轮复习 专题集训10 铝及其化合物(两性金属).pdf
原创力文档

文档评论(0)