- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第05章 函数
函数声明 作用:告诉编译系统函数类型、参数个数及类型,以便检验 函数定义与函数说明不同 函数说明位置:程序的数据说明部分(可在函数内或外) 下列情况下,可不作函数说明:被调用函数定义出现在主调函数之前。 5.6 函数的嵌套与递归调用 5.7 函数应用综合举例 (自学) 5.4 变量的作用域 1、作用域的基本概念 变量的作用域 即变量的作用范围(或有效范围)。表现为变量有的可以在整个程序或其它程序中进行引用,有的则只能在局部范围内引用。 按其作用域范围可分为两种:即局部变量和全局变量 变量的生存期 变量从被生成到被撤消的这段时间。实际上就是变量占用内存的时间。 变量只能在其生存期内被引用,变量的作用域直接影响变量的生存期。作用域和生存期是从空间和时间的角度来体现变量的特性。 2、局部变量作用域 定义 在函数内作定义说明的变量,也称为内部变量 。 作用域 仅限于函数内,离开函数后不可再引用。 生存期 从函数被调用的时刻到函数返回调用处的时刻。(静态局部变量除外) int f1 ( int x, int y ) { int z; z = x y ? x : y; return (z); } void f2 ( ) { printf (%d\n, z ); } 局部变量 变量x、y、z的作用域 引用错误! 编译出错! #include “stdio.h” int sum(int x, int y) /*局部变量x,y,只可以在函数sum中使用*/ { int z; printf(被调函数中的形式参数x,y 赋值为:\n%d,%d\n,x,y); z = x + y; return z; } void main() { /* 局部变量,仅仅能够在main函数内使用*/ int a,b; a=5; b=7; printf(主调函数中的两个实际参数a,b 为:\n%d,%d\n,a,b); /* 局部变量z,超过了作用域,引用出错*/ printf(两数之和为:%d\n,z); } 引用错误! 编译出错! 说明 (1) 主函数main( )中定义的变量也是局部变量,它只能在主函数中使用,其它函数不能使用。同时,主函数中也不能使用其它函数中定义的局部变量。 int f3 (int x); void main ( ) { int a = 2, b; b = a + y ; printf (%d\n, b); } int f3 ( int x ) { int y; y = a + 5; return ( y ); } 局部变量 变量a、b的作用域 变量x、y的作用域 局部变量 错误! 错误! 说明 (2) 形参变量属于被调用函数的局部变量;实参变量则属于全局变量或调用函数的局部变量。 (3) 允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。 #include stdio.h void subf ( ); void main ( ) { int a, b; a=3, b=4; printf (main: a = %d, b = %d\n, a, b); subf ( ); printf (main: a = %d, b = %d\n, a, b); } void subf ( ) { int a, b; a = 6, b = 7; printf(subf: a = %d, b = %d\n,a,b); } 运行结果: main: a = 3, b = 4 subf: a = 6, b = 7 main: a = 3, b = 4 变量名相同 说明 (4) 在复合语句中定义的变量也是局部变量,其作用域只在复合语句范围内。其生存期是从复合语句被执行的时刻到复合语句执行完毕的时刻。 #include stdio.h void main ( ) { int a = 2, b = 4; { int k, b; k = a + 5; b = a * 5; printf (k = %d\n, k); prin
您可能关注的文档
最近下载
- 电大中国建筑史(本)形考四.doc VIP
- 风力发电机组PLC系统.ppt VIP
- 小学语文整本阅读指导课《爱的教育》课件.pptx VIP
- GB14881-2025食品安全国家标准培训大纲.pptx VIP
- DLT5111-2024水电水利工程施工监理规范.pptx VIP
- 2021-2024年数学竞赛AIME I II真题含答案(共8套).pdf VIP
- (2024)乡村振兴产业园建设项目可行性研究报告写作模板(一).docx VIP
- 周围神经病诊疗和鉴别诊疗专家讲座.pptx VIP
- 周围神经病基础知识.ppt VIP
- 2023中考模拟作文写作:“合理谋划才能行稳致远”导写及范文.pdf VIP
文档评论(0)