- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序上设计课件第5章
一、变量的作用域和生存期 变量的作用域 变量的生存期 变量在程序中影响范围 变量在程序中起作用的时间 长期性 暂时性 全局变量 局部变量 局部变量 ① 变量只能在当前函数或 当前复合语句中有效。 ② 形式参数是局部变量。 ③ 可以在复合语句中定义 局部变量。 ④ 局部变量可以同名,互 不干扰。 全局变量 ① 在整个程序中有效有效。 ② 全局变量可以和局部变量同名,互不干扰,全局变量之间不能同名。 ③ 在同一个程序中,如果全局变量与局部变量同名,在局部变量的作用范围内,全局变量暂时不起作用,被屏蔽。 ④ 通常情况,建议尽量少使 用全局变量 #include stdio.h int a=3,b=5; max(int a,int b) {int c; c=ab?a:b; return c; } main() {int a=8; printf(%d,max(a,b)); } 二、变量的存贮类别 数据的动态存贮方式和静态存贮方式 程序区 动态存贮区 静态存贮区 存放程序指令 存放暂时性数据 (局部变量) 存放数据长期性 (全局变量) 在C语言中变量的存贮类别有四种 自动型变量 外部型变量 静态型变量 寄存器型变量 说明:auto 作用域:局部 生存期:暂时 存贮区:动态区 说明:extern 作用域:全局 生存期:长期 存贮区:静态区 说明:static 作用域:局部或 全局 生存期:长期 存贮区:静态区 说明:register 作用域:局部 生存期:暂时 存贮区:寄存器 自动型变量auto ?出现范围:出现在函数内部。 ?判别方法:① 定义在函数内部并且缺省存储类别说明 ② 直接auto显式说明 ?作用域:定义该变量的函数或复合语句。 ?生存期:定义该变量的函数或复合语句被执行期间,是局部。 ?存贮区域:动态存贮区 注意: ① 自动变量一般省略auto,函数中的大多数变量都是自动变量。 ② 形参和复合语句里定义的变量也是自动变量。 ③ 自动变量一旦被说明,则只能在说明该变量的函数或复合语句 中出现才有效,离开了上述区域则无效。 ④ 生存期只限于相应函数被调用时,若变量是定义在复合语句 内,则其生存期为该复合语句被执行的期间。 例 5-7 #include stdio.h main() { int a=1; f(a); f(a); } int f(int a) { int b; b=a++; printf(%2d,b); } /*a是局部变量,作用域为main函数内*/ /*a、b都是局部变量,作用域为f函数内, 生存期在调用f函数时*/ 例5-8 #include stdio.h main() { int a=3; { int a=2; printf(%2d,a++);} { int a=0; printf(%2d,a++);} printf(%2d,a++); } 外部型变量extern ?出现范围:可以出现在程序中的任何说明部分。 ?判别方法:① 在函数外部定义,并且缺省extern的变量 ② 用extern显式说明的变量。 ?作用域:从定义该变量的位置起直到本文件结束。 ?生存期:整个程序的执行期。 ?存贮区域:静态存贮区域 注意:① 外部型变量长驻数据的静态存贮区。 ② 外部变量在编译时创建,它只能初始化一次,如 果在定义时没有初始化,系统默认值为0。 ③ 外部变量能被同名的内部变量所屏蔽。 例5-9 #include stdio.h int a,b; main() { a=1; fun(); fun(); } int fun() {b=a++; printf(%5d,b); } 例5-10 #include stdio.h int a,b; main() { a=1; fun(a); fun(a); } int fun(int a) {b=a++; printf(%5d,b); } 静态变量static 静态变量分成静态局部变量和静态全局变量。 静态局部变量 出现范围:出现在函数内部。 判别方法:用static说明的、定义在函数内部的变量。 作用域:定义该变量的函数。 生存期:整个程序的执行期。 静态全局变量 出现范围:可以出现在程序的任何说明部分。 判别方法:用static说明的、定义在函数外部的变量。 作用域:从定义
您可能关注的文档
- c课件第01阿讲(05级).ppt
- c课件第02元讲(05级).ppt
- c课件第2章基本数换据类型与表达式.ppt
- c课件第06讲(美05级).ppt
- c课件第篇13讲全能版.ppt
- c课件金语言第09讲.ppt
- c面向对象程序设计版张冰1.ppt
- c面向对象个系列-06-c的面向对象程序设计思想.ppt
- c双基系列课件42《不等式的综问合应用》.ppt
- c网基站工程重点工艺、标签、空安全等相关要求.pptx
- 2025年中国卡尔酥行业市场发展前景及发展趋势与投资战略研究报告.docx
- 幼儿园家长进课堂爱护眼睛做护眼小达人.ppt
- 2023-2024学年江苏省镇江市镇江实验学校九年级数学第一学期期末经典试题含解析.doc
- 1.1+隋朝统一与灭亡课件2024_2025学年统编版七年级历史下册.pptx
- 完善自我激发潜能做优秀的人民教师.ppt
- 2023-2024学年江苏省镇江市镇江实验学校物理九上期末联考模拟试题含解析.doc
- 互联网影视平台影视剧制作合同.doc
- 2025年中国室内线路供电器行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2025年中国钛贮罐行业市场发展前景及发展趋势与投资战略研究报告.docx
- 2025年中国干式发信水表行业市场发展前景及发展趋势与投资战略研究报告.docx
最近下载
- 气管切开护理课件完整课件.pptx VIP
- 天津市城市桥梁工程施工及验收标准DBT29-75-2018.pdf
- 国土空间规划的知识基础及其结构.docx VIP
- 中国建设工程造价管理协会标准《建设项目全过程造价管理咨询工作规程》.doc
- 新时期特色小镇国土空间规划编制的思考.docx VIP
- 国开学习网电大计算机应用基础形考任务终结性考试(学士论文)附答案.docx
- 新时期国土空间规划的基础逻辑关系思辨.docx VIP
- YB 4407-2014 冶金矿山井巷安装工程质量验收规范.pdf
- LEGO乐高积木拼砌说明书80012,齐天大圣黄金机甲,LEGO®MonkieKid™(年份2020)安装指南_第1份共2份.pdf VIP
- 国土空间规划知识考题(附答案).pdf VIP
文档评论(0)