65生存期作用域第9节3031static静态变量a_第1页
65生存期作用域第9节3031static静态变量a_第2页
65生存期作用域第9节3031static静态变量a_第3页
65生存期作用域第9节3031static静态变量a_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、static 静态变量1. static 静态变量:static 变量的定义格式为:static 数据类型 变量 1=初始化表达式, 变量 2=初始化表达式; 与 extern 变量都是全局变量不同,static 变量有静态全局变量和静态局部变量之分:2. static 局部变量应用场合:对局部变量用 static其所分配的空间始终,把它分配在静态区,该变量在整个程序执行期间不,。常使用静态局部变量在函数调用间歇保存某些变量的值。3 . 局部变量与静态局部变量的区别:局部变量:每次块语句结束,就自动回收,重新分配,静态局部变量:始终在内存,一旦定义初始化,即使再次执行初始化的语句,也仅仅次初始

2、化,生命周期很长,与程序共存亡3.使用静态局部变量,可以代码的移植性更强;4.用递归实现从 1 加到 100:要看到递归的过程,就需要用到静态局部变量静态局部变量,可以让代码更清晰。5.普通递归不能查看其过程是因为 add(n-1)是一个临时变量,没有办法保留中间结果,每一次重新开始,就进入了死循环。return 只能保留一个结果,就是最后的值6. 静态局部变量,只有定义,没有7. 全局变量和静态全局变量:。如果没有赋值,默认其值为 0;同一个 C 文件,可以静态全局变量和全局变量8.全局变量和静态全局变量的区别:extern 作用域是本程序的所有源代码文件,只要在一个文件中定义,在其他文件中

3、使用时只要对其进行即可。静态全局变量其作用域仅限于从定义位置起到本文件结束的一段代码区域,不能被其他文件中的函数所使用。9.静态全局变量的优点:静态全局变量实际上是对 extern 变量破坏封装性和可靠性的一种改良,便于代码的移植,代码的性可靠性得到了保障,可以实现封装10. 静态全局变量可以有多个,但是定义只能有一个,否则会出现重定义的错误;11. 静态全局变量,如果没有赋值,又恰好使用,编译器会把0;如果出现定义,就以定义的数值为准。当作定义,并自动为12. 如果为 0;的是静态全局变量数组,并且没有对其元素赋值,编译器会将其中的元素赋值如果有定义,就以定义的数值为准。13. 如果的是静态全局结构体,没有赋值的情况下编译器也会自动赋值为 0;14小结.:静态局部变量,作用域局限于当前的块语句,除了生存期是整个程序执行期间(与程序共存亡)外,其作用域与可见域与普通 auto 变量完全一样。 Static 局部变量只有定义,没有声明。静态局部变量分配在静态区,该变量在整个程序执行期间不,其所分配的空间始终。常使用静态局部变量在函数调用间歇保存某些变量的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论