第12章+用户标识符的作用域及存储类.pptVIP

第12章+用户标识符的作用域及存储类.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第12章 用户标识符的作用域和存储类 变量作用域和存储方法 作用域:变量使用的范围 分别介绍: 局部变量 全局变量 静态(static)变量 1. 局部变量的作用域与生存期: 在一个函数体内(或复合语句内)定义的变量 (又称自动变量) 。从定义位置开始到函数体(复合语句)结束为止。 特点: ① 只允许在定义的范围内使用。 ② 形式参数也是局部变量。 ③ 局部变量若没赋值,为一个随机值。 ④ 所在的函数被调用则局部变量存在。 局部变量说明形式: auto int a,b; 或: int a,b; (省略auto) (前面程序中遇到的所有变量都是局部变量) #include stdio.h void main( ) { int a,b; ….. { int x,y; …… } ….. } x、y 作用域 a、b 作用域 局部变量 寄存器变量: 将变量放在计算机的某个寄存器内,目的为提高速度。 说明形式: register int i; register char a; 使用说明: 1、寄存变量仅能为局部变量或函数的形参。 2、寄存器变量不能用&取地址。 3、有的系统规定仅能是int 或 char作寄存器变量。 4、 常常将少量频繁使用的量放在寄存器内。 2.全局变量:在函数体之外定义的变量。 特点: ① 全局变量可以为本程序文件中的所有函 数使用,其作用范围由定义的位置开始 到本文件结束。 ② 使用全局变量起到各函数间传递参数的 作用。 ③ 全局变量若没有赋值,是0值。 #include stdio,n int x , y; x、y为全局变量 void main ( ) { int a=5,b=10; a、b为局部变量 x=a+b; y=a-b; ftr( ); printf (“%d%d\n”,x,y); 输出的是:20 60 } void ftr( ) { int a1=40,a2=20; a1、a2为局部 x=a1-a2; y=a1+a2; return; } 3.静态变量:程序运行期间分配固定的存貯单元。 在程序运行期间这些单元始终存在。 (静态变量分为内部静态和外部静态) 静态变量说明: static 类型说明 变量名; 例如: static int a; 内部静态变量:当在程序中第2次调用时,仍保持上次的值。 未赋初值的静态局部变量,编译程序自动赋初值为0。 内部静态变量的举例: #include stdio.h int x=100; (全局) void f1() { int a=100; a+=100; x+=100; printf (“%d %d\n”, a, x) ; } void f2() { static int b=100; b+=100; x+=100; printf (“%d %d\n”, b , x); } void main ( ) { f1( ); f1( ); f2( ); f2( ); } 200 200 200 300 200 400 300 500 两次调f1( ) 两次调f2( ) 输出结果: 总结: 1.在一个函数中,一个变量只能被说明为一种 类型。 2.局部变量没有初始化不能使用。 3.静态和全局变量,没有初始化时,自动为0。 4. 在一个程序中若局部变量与全局的同名, 局部的优先。 内部函数和外部函数: 内部函数:只能在本文件内调用。 例如:static int fun(形参)

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档