- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
函数存储类别和编译预处理
6.2 函数的定义 6.3 函数的调用和参数传递 3.函数的参数传递 void swap(int a, int b) { int temp; temp=a; a=b; b=temp; printf(a=%d,b=%d\n,a,b); } main( ) { int x,y; printf (input x,y:); scanf (%d,%d,x,y); swap(x,y); printf (x=%d,y=%d\n,x,y); } 5.函数的说明 程序实例 #includestdio.h main( ) { int k; scanf(“%d”,k); if (prime(k)) printf(“This is prime number.\n”); else printf(“This is not prime number.\n”); } #include math.h main( ) {float n,x; float root(float n,float x1,float eps); /*函数声明*/ scanf(“%f”,n); x=root(n,1,1.0e-4); /*函数调用*/ printf(“root=%f”,x); } float root (float n, float x1, float eps) /*函数定义*/ { float x0; do { x0=x1; x1=(x0+n/x0)/2; }while (fabs(x1-x0)eps); return x1; } 6.4 变量的存储类别 函数作用域:函数内定义的变量(包括形参) ; 作用域仅限于函数内(包括nain( )函数),也即只能在本函数内使用; 函数执行结束后变量就从内存里面释放; 块作用域:在一个程序块(复合语句)中定义的变量; 作用域只能在复合语句的范围内。 float fun1(int a) /*函数fun1*/ {int b,c; …… } float fun2(int x) /*函数fun2*/ {int y,z; …… } main( ) /*主函数*/ { int m,n; …… } 【例6-5】同名的全局变量和局部变量。 6.4.2 变量的生命期 1.变量auto 自动型(auto)变量是c语言中出现最多的变量; 特点:函数内被说明,其存储类别往往都是缺省的; 例如: int fun(int a) /*形参的存储类别是自动型*/ { auto int b,c; /*自动型*/ float d,e; /*缺省的自动型*/ … } 生命期:只限于相应函数被调用时(只有在相应的函数调用时才申请存储空间,一旦调用结束,立即释放存储空间)。 2.外部变量extern 外部变量是全局变量; 全局变量是从它的作用域的角度提出的; 外部变量从它的存储方式提出的,表示了它的生命期。 3.静态变量static 定义形式:static 类型 变量名; 例:static int a=10,s; 生命期:整个程序的执行期(即结束相应函数调用后,其存储空间依然保留); 作用域:函数内有效; 特点:初始化语句只在第一次调用该函数时进行。未赋初值的,编译时,则由系统自动赋以0值;其值具有继承性; 作用:信息隐蔽。(要改变该变量的值,必须在函数内部完成,这样,相对于外部变量来说,它更安全)。 【例6-7】 fun(int x) { static int a=3; a+=x; return (a); } 4.寄存器变量register 定义形式:register 类型 变量名; 例:register int i,j; 变量使用时不需要访问内存,而直接从寄存器中读写; 生命期:只限于相应函数被调用时(其值存放在寄存器中); 作用域:函数内有效; 作用:提高程序执行速度。 只有局部自动变量和形式参数可以定义为寄存器变量。 在Turbo C,MS C等微机上使用的C语言中, 把寄存器变量当成自动变量处理的。 由于CPU 中寄存器的数目有限,不能随意定义寄存器变量的个数。 6.5
您可能关注的文档
最近下载
- 预见性护理及早期风险识别PPT课件.pptx VIP
- 1.7 有理数的加减混合运算(分层练习).pdf VIP
- 打造“四有”体育课堂-发展学生核心素养.docx VIP
- 洋马发动机喷射泵拆卸更换调整.pptx VIP
- 2025年人工智能训练师(五级)初级资格理论考试练习题库(476题)含答案.pdf VIP
- 苏教版五年级小数的加法和减法练习题1(完美打印版).doc VIP
- 2023年上海市第二十四届初中物理竞赛(大同中学杯)初赛试卷及答案.docx
- 第5课 美丽河山我们的家 课件 人民版中华民族大家庭.pptx
- 英语人教版九年级全册Unit2 Section A教学设计.doc VIP
- 2025海康威视网络硬盘录像机(76+77+86+E系列)用户手册.docx VIP
文档评论(0)