06函数讲解.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
06函数讲解

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 内存、取址地址、内容 画图说明 --- 引入本版 * * * * * * * * * * * * * * * * * * * * * * 变量的作用域 The three storage areas created by the program 变量的作用域 #include stdio.h int firstnum=10; void display(); int main() { int firstnum = 20; display(); printf(\nFrom main(): firstnum = %d\n,firstnum); return 0; } void display() { printf(\nFrom display(): firstnum = %d\n,firstnum); } 变量的作用域 在程序设计中,应尽量避免使用全局变量。 全局变量在程序的全部执行过程中都占用存储单元,而不是仅在需要时才开辟单元。 使函数的可靠性和通用性降低。 使用全局变量过多,会降低程序的清晰性。 变量的生命期 变量的生命期 :变量占用存储空间的时限,由变量的存储类型决定。 C语言中,变量的存储类型符有四种: auto static extern register C语言规定:存贮类型符放在变量定义的最前面。 例: static int a, b; 变量的生命期 缺省时为auto。 例: auto int a,b; 局部变量的存储类型只允许有三种: auto static register int a, b; auto自动局部变量的生命期:在变量定义时获取存储空间(alive);函数返回后,释放存储空间(die)。 变量的生命期 #include stdio.h void testauto( ); /* function prototype */ int main( ) { int count; /* create the auto variable count */ for(count = 1; count = 3; ++count) testauto( ); return 0; } void testauto( ) { int num = 0; printf(The value of the automatic variable num is %d\n, num); ++num; return; } static int num = 0; 变量的生命期 static静态局部变量的生命期:在变量定义时获取存储空间(alive);程序执行结束时,释放存储空间(die)。(变量定义只做一次。) Static静态局部变量:在变量定义时,赋初值;若缺省,初值为0。 初值只允许为常量或常量表达式。 #include stdio.h void testauto( ); /* function prototype */ int main( ) { int count; /* create the auto variable count */ for(count = 1; count = 3; ++count) testauto( ); return 0; } void testauto( ) { static int num = 0; printf(The value of the automatic variable num is %d\n, num); ++num; return; } 变量的生命期 num=1; 变量的生命期 register寄存器局部变量的生命期:和自动局部变量相同。只是存储的位置,不在内存,而在CPU的寄存器中。(不常用) 可以把使用频率高的变量定义为register,提高程序执行的速度。 寄存器变量只能用于整型和字符型。 变量的个数受CPU寄存器数目的限制。超限时,编译器将其转换为自动局部变量。 变量的生命期 全局变量的存储类型只允许有两种: static extern 比较大型的程序,通常由多个文件组成。 变量的生命期 比较大型的程序,通常由多个源文件组成。 变量的生命期 比较大型的程序,通常由多个源文件组成。

文档评论(0)

22ffbqq + 关注
内容提供者

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

1亿VIP精品文档

相关文档