变量的作用域与生存期--深入理解变量的使用new课件

上传人:我*** 文档编号:140643094 上传时间:2020-07-31 格式:PPT 页数:20 大小:208.50KB
返回 下载 相关 举报
变量的作用域与生存期--深入理解变量的使用new课件_第1页
第1页 / 共20页
变量的作用域与生存期--深入理解变量的使用new课件_第2页
第2页 / 共20页
变量的作用域与生存期--深入理解变量的使用new课件_第3页
第3页 / 共20页
变量的作用域与生存期--深入理解变量的使用new课件_第4页
第4页 / 共20页
变量的作用域与生存期--深入理解变量的使用new课件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《变量的作用域与生存期--深入理解变量的使用new课件》由会员分享,可在线阅读,更多相关《变量的作用域与生存期--深入理解变量的使用new课件(20页珍藏版)》请在金锄头文库上搜索。

1、变量的作用域与生存期,深入理解变量的使用,一、问题的提出与课题引入,1、变量能被不同的函数使用 或变量不能被不同的函数使用,2、变量的值能被不同的函数累计使用 变量的值不能被不同的函数累计使用,变量的作用有效范围问题:变量作用域,变量值在内存或寄存器中存在时间问题:变量生存期,二、变量的定义、申明与引用,#include int main() int max();extern int A,B,C;printf(请输入三个整数:) scanf(%d,%d,%d,二、变量的定义、申明与引用,#include int A,B,C; int main() int max();printf(请输入三个整

2、数:) scanf(%d,%d,%d,三、 变量的基本类型,1、局部变量内部变量,在函数内部或函数中复合语句内部定义的变量称为局部变量。,void sub( int a ) int b; int c; for( int i =0;i10;i+) ,/形参属于局部变量,/函数内部定义的变量属于局部变量,/复合语句内部定义的变量属于局部变量,/循环变量属于局部变量,三、 变量的基本类型,2、全局变量外部变量全程变量,在函数外部定义的变量称为全局变量。,file1.c extern A; int main() extern B; B=1; A=2; int B;,file2.c int A; voi

3、d fun(int n) ,/函数外可以是函数前,也可以是函数后,还可以在文件外,四、局部变量作用域,局部变量的作用域是从该变量被申明(定义)位置开始,一直到该函数或复合句结束。,void sub( int a ) ,for( int i =0;i10;i+),void sub( ) int a; ,int i; for( i =0;i10;i+),void sub( int a ) i=i+1; int b; int c; a=a+1; b=b+1; c=c+1; for( int i =0;i10;i+) a=a+1; b=b+1; c=c+1; i=i+1; ,五、 局部变量的生存期,动

4、态存储的局部变量(自动变量、寄存器变量)的值存储在内存用户区的动态存储区,其生存期为本函数一次调用的作用域。,void fun1() int A=0; A=A+1; int main() fun1(); fun1(); return 0; ,六、全局变量作用域,全局变量的作用域是从该变量被申明(定义)位置开始,一直到本源文件结束。,外部变量增加了函数间数据联系的渠道,extern int A; int main() extern int B; return 0; void fun1() A=A+1; B=B+1; C=C+1; int A; int B; int C; Void fun2()

5、A=A+1; B=B+1; C=C+1; ,七、全局变量生存期,全局变量的值存储在内存用户区的静态存储区,其生存期为整个程序的运行期。,int A=0; void fun1() A=A+1; int main() fun1(); fun1(); return 0; ,八、变量的可见性,在变量的作用域内可以引用此变量,称为变量的可见性。同名变量的作用域依据就近原则界定。,int A; void fun1() A=A+1; int A; A=A+1; int main() A=A+1; return 0; ,九、 变量的作用域与生存期的关系,1、作用域与生存期一致情况,一般地,局部变量存储在动态存

6、储区,全局变量存储在静态存储区,其各自的作用域与生存期是一致的。,九、 变量的作用域与生存期的关系,2、静态局部变量,静态局部变量存储在静态存储区,其作用域不变,但生存期变长,其生存期为整个程序的运行期。,void fun1() static int A=0; A=A+1; int main() fun1(); fun1(); return 0; ,九、 变量的作用域与生存期的关系,3、静态外部变量,将外部变量只限于被本文件引用,在定义外部变量时加一个static声明。,file1.c static int A; int main ( ) ,file2.c extern A; void fun (int n) A=A*n; ,十、 小结,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号