模块5_指针及应用.ppt

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

计算机工程学院2.数组作为函数参数在函数调用时,将是参数组的首地址赋值给形参数组,使得这两个数组共占一块内存空间。这样,形参数组中的元素值发生变化将会使实参数组的元素值也同时变化。

由于数组名也是一个地址,所以在函数中地址的传递也可以不用数组名,而使用指向数组元素的指针变量来实现。表5-3给出了数组作为函数参数时实参和形参可以使用的类型。*计算机工程学院表5-3数组作为函数参数时实参和形参可以使用的类型实参数组名数组名指针变量指针变量形参数组名指针变量数组名指针变量*计算机工程学院#includestdio.hvoidfnData_put(int*pInt,intiName){ inti; for(i=0;iiName;i++) printf(%4d,*(pInt+i));}intmain(){ intiData[6]={1,2,3,4,5,6}; int*pInt=iData; fnDAta_put(pInt,6);}计算机工程学院/*voidfnData_put(intpInt[],intiName){ inti; for(i=0;iiName;i++) printf(%4d,pInt[i]);}*//*voidfnData_put(intpInt[],intiName){ inti; for(i=0;iiName;i++) printf(%4d,*(pInt+i));}*//*voidfnData_put(int*pInt,intiName){ inti; for(i=0;iiName;i++) printf(%4d,pInt[i]);}*/计算机工程学院案例2中的voidinv(inta[],intn)函数可以改写为:voidinv(int*a,intn)/*形参a是指针变量*/{inttemp,i,j,m=(n-1)/2;int*p1=a;int*p2=a+n-1;for(i=0;i=m;i++)*计算机工程学院{temp=*p1;*p1++=*p2;*p2--=temp;}}注意:当数组作为函数参数时,为了控制数组范围,一般要加上表示数组大小的参数。*计算机工程学院3.指针型函数前面我们介绍过,所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。定义指针型函数的一般形式为:类型说明符*函数名(形参表){……/*函数体*/}*计算机工程学院其中函数名之前加了“*”号表明这是一个指针型函数,即返回值是一个指针。类型说明符表示了返回的指针值所指向的数据类型。如:int*ap(intx,inty){....../*函数体*/}表示ap是一个返回指针值的指针型函数,它返回的指针指向一个整型变量。*计算机工程学院4.指向函数的指针在C语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。我们可以把函数的首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数。然后通过指针变量就可以找到并调用这个函数。这种指向函数的指针变量称为“函数指针变量”。定义函数指针变量的一般形式为:类型说明符(*指针变量名)();*计算机工程学院其中“类型说明符”表示被指函数的返回值的类型。最后的空括号表示指针变量所指的是一个函数。例如:int(*pf)();表示pf是一个指向函数的指针变量,该函数的返回值是整型。函数指针变量调用函数的步骤如下:(1)先定义函数指针变量,如案例4中“int(*pmax)();”定义pmax为函数指针变量。*计算机工程学院(2)把被调函数的入口地址(函数名)赋予该函数指针变量,如案例4中“pmax=fmax”。(3)用函数指针变量形式调用函数,调用函数的一般形式为:(*指针变量名)(实参表),如案例4中“return(*p

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

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

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档