C语言培训之函数

C语言培训之函数

ID:43342586

大小:214.00 KB

页数:22页

时间:2019-10-08

C语言培训之函数_第1页
C语言培训之函数_第2页
C语言培训之函数_第3页
C语言培训之函数_第4页
C语言培训之函数_第5页
资源描述:

《C语言培训之函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、函数第九章回顾指针变量指针运算符指针与数组内存分配2目标掌握函数的结构掌握函数声明和原型按值传递/按地址传递理解函数的作用域掌握函数指针3函数独立的程序段执行一个具体的、明确定义的任务易于编写、理解、调试和维护将需要多次执行的一组指令定义为函数4函数的结构type_specifierfunction_name(arguments){函数体}返回值的数据类型有效的函数名形式参数5函数的参数#includeintsquarer(intx);main(){inti;for(i=1;i<=10;i++)printf("Squareof%dis

2、%d",i,squarer(i));}intsquarer(intx)/*intx;*/{intj;j=x*x;return(j);}形式参数实际参数6从函数返回intsquarer(intx)/*intx;*/{intj;j=x*x;return(j);}将控制权从函数传回主调程序把return语句中的内容返回给主调程序7函数的数据类型如果返回的是一个整型值或者没有返回值,可以省略类型标识符为了避免出现不一致,最好指定数据类型intsquarer(intx)/*intx;*/{intj;j=x*x;return(j);}8调用函数函数名后面必须有括号一个

3、函数只能返回一个值程序可以有一个以上的函数主调函数被调函数9函数声明在定义之前使用函数,必须声明否则,一些编译器会返回错误#includemain(){address();}address(){}“隐式”声明10函数原型指定参数的数据类型如果调用时所使用的参数与原型的参数之间不一致,系统将报错charabc(intx,inty);abc(12);11变量局部变量在函数内部声明进入一个程序块时创建,退出该程序块时销毁形式参数在函数定义中被声明为参数在函数内部像局部变量一样使用全局变量在所有函数以外声明在程序的整个执行期间都拥有值12存储类别

4、2-1存储类别是变量的属性存储类别定义了:生命周期保留特定值的时间长度可见性程序的哪些部分将能够“看见”该变量13存储类别2-2自动的(auto)外部的(extern)静态的(static)寄存器的(register)14函数作用域规则一块代码是否有权访问另一块代码或数据函数内部的代码对该函数来说是私有或局部的两个函数拥有不同的作用域但处于相同的级别函数不能在其他函数以内定义15调用函数按值传递按地址传递25100#25100#2510016按值传递变量的值被传递给被调函数,并且对这个值的任何改变都不会影响被传变量的原始值默认情况下,函数参数都是按值传递的

5、参数值是通过临时变量传递的所有操作都针对这些临时变量17按地址传递允许函数访问内存位置被调函数能够修改主调程序的参数的值定义getstr(char*ptr_str,int*ptr_int);使用getstr(pstr,&var);18函数调用的嵌套main(){..palindrome();..}palindrome(){..getstr();reverse();cmp();..}19多文件程序中的函数函数可以定义成静态的或者外部的静态函数只能在其程序文件内部被识别staticfn_typefn_name(argumentlist);外部函数可以被程序的所

6、有文件识别externfn_typefn_name(argumentlist);20函数指针函数在内存中的物理位置-函数的入口点voidcheck(char*a,char*b,int(*cmp)()){printf("testingforequality");if(!(*cmp)(a,b))printf("Equal");elseprintf("NotEqual");}#include#includevoidcheck(char*a,char*b,int(*cmp)());main(){chars1[80];cha

7、rs2[80];int(*p)();p=strcmp;gets(s1);gets(s2);check(s1,s2,p);}21总结函数的结构函数声明和函数原型按值传递/按地址传递函数的作用域规则多文件程序中的函数函数指针22

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。