第2章数据存储预处理.ppt
《第2章数据存储预处理.ppt》由会员分享,可在线阅读,更多相关《第2章数据存储预处理.ppt(28页珍藏版)》请在三一文库上搜索。
1、第2章 C语言快速入门,变量修饰符 变量的作用域 变量的生存期 预处理指令,变量修饰符,const 修饰符(常量修饰符) 例如:const int a=20; 说明:必须赋初值! static 修饰符 例如:static int x=0; 说明:静态变量的生存期是整个程序执行期,不会随着函数的调用而动态创建。,变量的作用域 ( Scope ),指在源程序中定义变量的位置及其能被读写访问的范围 分为 局部变量(Local Variable) 全局变量(Global Variable ),局部变量的有效范围是所在定义的函数内, 只有在本函数内才能使用他们。在此函数以外是不能使用这些变量的。,局部变
2、量( Local Variable ),全局变量( Global Variable ),在所有函数之外定义的变量 生存期是整个程序,从程序运行起即占据内存,程序运行过程中可随时访问,程序退出时释放内存 有效范围是:从定义变量的位置开始到本程序结束,如果在同一个源文件中,全局变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即不起作用。,auto 自动变量动态存储区 register 寄存器变量 CPU中的寄存器 extern 外部变量 静态存储区 static 静态变量静态存储区,存储类型,程序区,静态存储区,动态存储区,形参、自动变量、函数调用的现场等,全局变量、 静态变量,
3、存放数据,RAM,在静态区中存的变量是在源程序编译时分配存储单元的,在程序执行完毕才释放。 动态区中的变量是在程序执行过程中分配存储单元的,并在程序执行过程中释放。,变量的生存期 静态存储区中的变量:与程序“共存亡” 动态存储区中的变量:与函数“共存亡” 寄存器中的变量: 同动态存储区,程序区,静态存储区,动态存储区,存放数据,RAM,9,自动类型变量,说明局部变量时,用auto修饰或缺省情况下定 义的变量称为自动类型变量: auto 类型 变量名;,void main() int i=10; auto int j; printf(“%d%d”,i,j); ,i,j为自动类型变量(局部变量),
4、程序从变量的作用域开始,动态地为i,j分配存储空间;到变量的作用域结束,动态地收回变量的存储空间。(动态存储变量),自动类型变量如果不赋初值,其值不确定: 10 ?,10,静态类型变量,用关键词static修饰的变量称为静态类型变量: static 类型 变量名;,static int y=5; static char s; void main() static float x; ,y,s为静态类型全局变量,x为静态类型局部变量,静态类型变量为静态存储变量, 在程序开始运行时就为其分配存储空间,直到程序运行完毕收回,静态类型变量如果不赋初值,其初值为0: y=5,s=x=0,11,#inclu
5、de int t( ) int i = 100; i+=5; return i; void main(void) printf(“i=%dn“,t(); printf(“i=%dn“,t(); ,静态类型变量,例 使用静态类型的局部变量,#include int t( ) static int i = 100; i+=5; return i; void main(void) printf(“i=%dn“,t(); printf(“i=%dn“,t(); ,i=105 i=110,为了保存函数运行的结果,以便在下次调用该函数时,能继续使用上次计算的结果,i=105 i=105,静态类型变量的初始
6、化仅在程序开始运行时处理一次,执行完函数后,系统不收回变量存储空间。 再次调用函数时,变量仍使用相同的存储空间,因此保留原来的值。,变量存储类型,局部变量默认为auto型 register型变量个数受限,且不能为long, double, float型 局部static变量具有全局寿命和局部可见性 局部static变量具有可继承性 extern不是变量定义,可扩展外部变量作用域,例 文件file1.c int a; main( ) . . f2; . f1; . f1( ) auto int b; f2; f2( ) static int c; ,从不同角度对存储类别的归纳,1、从作用域角度分
7、,有局部变量和全局变量,它们采用的存储类别是:,2、从变量存在的时间来分,有动态存储和静态存储两种类型。静态存储是程序整个运行期间都存在,而动态存储则是在调用函数时临时分配存储单元。,动态存储,自动变量 (本函数内有效),寄存器变量(本函数内有效),形式参数,静态存储,静态局部变量 (函数内有效),外部变量 ( 其它文件可引用),静态外部变量 (本文件内有效),3、从变量值存放的位置来区分,可分为:,1. 内存中静态存储区,静态局部变量(函数内有效),外部变量( 其它文件可引用),静态外部变量(本文件内有效),2. 内存中动态存储区:,3. CPU中寄存器:,自动变量 和 形式参数,寄存器变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 存储 预处理
链接地址:https://www.31doc.com/p-2120657.html