C语言-13-指针与函数 PPT课件.pptVIP

C语言-13-指针与函数 PPT课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指针与函数 指针变量作函数参数 P225 形参 实参 指针变量 指针变量 指针变量作实参时,将指针变量的值(变量的地址)传递给被调用函数的形参(通常形参是指针变量)。 变量地址 指针变量 若实参为变量的地址,则被调用函数的形参必须是指针变量。 一维数组名 一维数组/指针变量 若实参为一维数组名,则被调用函数的形参可以是一维数组也可以是指针变量。 指针变量,既可以作为函数的形参,也可以作函数的实参。但作实参时指针变量必须赋值。 指针变量作函数的参数通常实现地址传递。 x y 23 67 #include stdio.h void fun(int x,int y, int *p , int *q ) { *p=xy?x:y; *q=xy?x:y; } void main() { int a,b,max,min,*q; scanf(%d%d,a,b); q=min; fun(a, b, max , q ); printf(max=%d,min=%d,max,*q); } 例:阅读下列程序,输入23,67,写出其执行结果。 int *p max q int *q main a b max min 23 67 q fun q p 67 23 指针变量作实参时,必须先赋值,将指向变量的地址传递给形参。 指针变量作函数参数时,实现地址传递。 #include stdio.h void maxmin( ) { int i; b b[0] ; for(i=1;i10;i++) { if(*pt1b[i]) *pt1=b[i]; if(*pt2b[i]) *pt2=b[i]; } } void main( ) {int aa[10]={-1,2,3,-4,-5,7,8,9,10,-7},*p1,*p2,a,b; p1=a;p2=b; maxmin(aa,p1,p2); printf( a=%d,b=%d,a,b); } 例:下列程序实现的功能求最大值和最小值,请填空。 int b[ ], int *pt1, int *pt2 *pt1=*pt2= int *b, #include stdio.h #include string.h void main() { char *s1=BD,*s2=BC,*s3=AB; void swap(char *s1,char *s2); if(strcmp(s1,s2)0)swap(s1,s2); if(strcmp(s2,s3)0)swap(s2,s3); if(strcmp(s1,s2)0)swap(s1,s2); puts(s1);puts(s2);puts(s3); } void swap(char *s1,char *s2) { char t; t=*s1;*s1=*s2;*s2=t; } 例:阅读下列程序,写出其执行结果。 \0 D B s1 \0 C B s2 \0 B A s3 *s1 ? *(s1+0) ? s1[0] *s2 ? *(s2+0) ? s2[0] A B A B AD BC BB s1 s2 s1 s2 s1 s2 #include stdio.h #include string.h void fun(char *w, int m) { char *p1,*p2;int s; p1=w;p2=w+m-1; while(p1p2) { s=*p1++; *p1=*p2--;*p2=s;} } main() {char a[]=”ABCDEFG”; fun(a, strlen(a)); puts(a);} 例:阅读下列程序,写出程序的输出结果。 AGAAGAG 若有定义:int a[3][4], (*p1)[4]=a; 指向数组的指针作函数参数 P249 形参 实参 二维数组名 一维数组 二维数组 指针变量 指向一维数组的指针变量 编程思路: 函数average求总平均成绩; 函数find找出并输出第i个学生的成绩。 主函数实现数据的输入。 P249 例10.13 有一个班,3个学生,各学4门课,计算总平均分数以及第n个学生的成绩。 #include stdio.h void average(float *p,in

文档评论(0)

办公文档大全 + 关注
实名认证
文档贡献者

文档来源于平时收集整理,如果不慎侵犯了您的权益,请私信联系本人删除,本人在看到消息后一定会在第一时间删除 。

1亿VIP精品文档

相关文档