(中职)C语言程序设计案例教程第5章函数(5-6节)教学课件().ppt
《(中职)C语言程序设计案例教程第5章函数(5-6节)教学课件().ppt》由会员分享,可在线阅读,更多相关《(中职)C语言程序设计案例教程第5章函数(5-6节)教学课件().ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中职)C 语言程序设计案例教程第5 章函数(5-6 节)教学课件(工信版)CONTENTS目录5.5 变量的存储类别5.6内部函数和外部函数5.7 常见错误分析与解决123 本节要点:掌握C 语言变量的作用域和存储类别。理解内部函数和外部函数。P AR T5.5 变量的存储类别5变量的存储:变量占用单元的时间称为“生存期”,变量的生存期是由变量的存储位置决定的。程序中使用的数据可存放在CPU的寄存器和内存储器中。CPU寄存器中存储的数据是动态存储类型,不能长期占用。内存中分为两个区域,分别是静态存储区和动态存储区。其中,静态存储区存放的数据可以在程序执行期间长期占有内存单元,直到该程序结束;
2、动态存储区存放的数据是临时占用内存单元,当某一程序段执行完毕,系统回收内存单元。程序中使用的数据存放在哪个存储区是用户在定义变量时指定的。01020304056定义变量的存储类型:存储类型 存储类型符 存储位置自动类型 auto 内存动态存储区寄存器类型 register CPU 寄存器静态变量 static 静态存储区外部变量 extern 静态存储区表5-1数据的存储类型及存储位置5.5.1 动态存储在函数中定义变量时,在数据类型前面可加auto 修饰符,表示该变量为自动变量,如“autointa;”。一般省略auto。自动变量的作用域范围只限在变量所在的程序块,程序执行退出了该程序块,自
3、动变量的存储空间就被释放掉。自动变量也是动态的局部变量。(1)自动变量(auto)自动变量是存储在堆区和栈区的变量,随函数调用而生成,随函数调用结束而释放,C 语言从存储的角度称这些变量为自动变量。8(2)寄存器变量(register)寄存器变量使用的是CPU 的寄存器,寄存器变量与一般自动变量相比,它可以提高存取速度一个数量级或更多。定义格式为:register 类型名 变量名;只有局部自动变量和形式参数可以作为寄存器变量,提高程序的运行速度。不能定义任意多个寄存器变量;局部静态变量不能定义为寄存器变量。不能对寄存器变量进行取址运算。例:#includevoidmain()registeri
4、nti=0;/寄存器变量doublesign=1.0,res=0,ad=1.0;for(i=1;i=100000000;i+)res+=ad;sign=-sign;ad=sign/(2*i+1);res*=4;printf(piis%fn,res);5.5.2 静态存储(1)静态变量(static)静态变量存放在静态存储区中。静态变量在变量定义时就分配了固定的内存单元,并根据所定义的数据类型存入默认值,在程序运行中一直占用内存单元不释放,直到程序运行结束才释放。11静态变量分类:静态变量又分为静态局部变量和静态全局变量。0102静态局部变量是在函数或复合语句中定义的静态变量,该变量在其函数中或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中职C语言程序设计案例教程第5章 函数5-6节教学课件 语言程序设计 案例 教程 函数 教学 课件
限制150内