- 4
- 0
- 约1.78千字
- 约 9页
- 2019-03-04 发布于江苏
- 举报
第5章 变量的存储类别和作用域
5.1 变量类别概述 从变量的作用域(即从空间)角度来分,可以将变量分为全局变量和局部变量;从变量存在的时间(即生存期)来分,可以分为静态存储变量和动态存储变量。动态数据存储在内存的堆栈区,静态数据存储在内存的固定存储区,即静态存储区;全局变量存储在内存的固定存储区,局部变量存储在内存的堆栈区。 5.2 局部变量 主函数main()中定义的变量(m和n)只在主函数中有效,而不因为在主函数中定义就会在整个文件或程序中有效。 不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。例如,在f1()函数中定义了变量b和c,倘若在f2()函数中也定义变量b和c,它们在内存中占不同的单元,互不混淆。 形式参数也是局部变量。 在一个函数内部,可以在语句块(复合语句)中定义变量,这些变量只在该语句块(复合语句)中有效,这种语句块(复合语句)也可称为“分程序”或“程序块”。 5.3 全局变量 5.3.1 全局变量的定义及其作用范围 在函数内定义的变量是局部变量,而在函数外定义的变量称为外部变量,外部变量是全局变量。全局变量可以为本文件中的其他函数所共用。它的有效范围是从定义变量的位置开始到本源文件结束。 5.3 全局变量 5.3.2 全局变量的有关说明 (1)设立全局变量增加了函数间数据联系的渠道。 (2)建议不是必要时不要使用全局变量。 (3)如果外部变量在文件开头定义,则在整个文件范围内都可以使用该外部变量。 5.4 寄存器变量 为提高程序的执行速度,C语言中允许将局部变量的值放在运算器的寄存器中,需要时直接从寄存器中取出参加运算,不必再到内存中去取,这样可以提高程序的执行效率。这种变量叫“寄存器变量”,用关键字register说明。 例如: register int i; register char ch; register float x; 在寄存器变量的说明中关键字int可以省略。 5.5 静态存储变量 5.5.1 局部静态存储变量 局部静态变量属于静态存储类,在静态存储区内分配存储单元,在程序的整个运行期间都不释放。 局部静态变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用时不再赋初值,而只是保留上次函数调用结束时的值。对自动变量的赋初值,不是在编译时进行,而是在函数调用时进行,每调用一次函数重新给一次初值,相当于执行一次赋值语句。 在定义局部静态变量时不赋初值,编译时自动赋0(对数值型变量)或空值(对字符型变量)。 虽然局部静态变量的值在函数调用结束后仍然存在,但其他函数是不能引用的。 5.6 动态存储变量 函数形参变量(只有在调用函数时才给形参分配存储空间)。 局部变量(加了static说明的除外)。 函数调用时的现场保护和返回地址等。 5.7 变量存储类别 (1)从作用域角度来看,变量分为局部变量和全局变量。 (2)从变量存在的时间来看,变量分为动态存储变量和静态存储变量两种类型。 (3)从变量存放的位置来看,变量可分为在内存静态存储区、内存动态存储区及寄存器中三种。 (4)变量的作用域和生存期。 C语言程序设计 21世纪中等职业学校系列计算机规划教材 C语言程序设计 21世纪中等职业学校系列计算机规划教材 第5章 变量的存储类别和作用域 本章学习要点: 5.1 变量类别概述 5.2 局部变量 5.3 全局变量 5.4 寄存器变量 5.5 静态存储变量 5.6 动态存储变量 5.7 变量存储类别
您可能关注的文档
- 第1课 享誉世界的四大发明(成品).ppt
- 第1课 邓稼先》教案设计.doc
- 第1节 DNA是主要的遗传物质 (一轮复习).ppt
- 第1课时:亿以内数的认识.ppt
- 第24章 模拟量和数字量的转换.ppt
- 第21课古诗《示儿》课件.ppt
- 第24课 人民解放战争的胜利 课件.ppt
- 第24课_开创外交新局面.ppt
- 第25课 世界多极化趋势92935.ppt
- 第24课 欧洲的经济区域一体化【岳麓版】(课件11).ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 准噶尔盆地南缘山前带石油地质综合评价.pdf VIP
- 2012届松江区高三英语二模试卷.doc VIP
- 2012奉贤区高三二模英语含答案.doc VIP
- 云南大学博士、硕士研究生学位论文写作规范-2025.docx VIP
- 2008学年奉贤区调研测试高三英语试卷及答案.doc VIP
- 最新人教版六年级上册数学1-8单元单元测试卷及期中期末卷(含答案).pdf VIP
- [黄浦区2009学年度第一学期期终基础学业测评高三英语附答案.doc VIP
- 2025至2030中国C反应蛋白(CRP)试验行业产业运行态势及投资规划深度研究报告.docx
- 2009学年奉贤区调研测试高三英语试卷(附答案).doc VIP
- 噬神者:爆裂 怪物素材获取方法.pdf VIP
原创力文档

文档评论(0)