- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- C语言-10-函数一 PPT课件.ppt
- C语言-11-函数的调用 PPT课件.ppt
- C语言-12-指针 PPT课件.ppt
- C语言-14-结构体 PPT课件.ppt
- C语言-15-文件 PPT课件.ppt
- C语言-16-常用算法编程 程序设计应用 PPT课件.ppt
- 计算机(简答题).doc
- 实习指导书 基础工程训练(Ⅱ).doc
- C语言-1-程序设计的基本概述 PPT课件.ppt
- C语言-2-C语言概述 PPT课件.ppt
- 初中英语教师教学画像构建与教学反思策略研究教学研究课题报告.docx
- 小学数学教学中生成式AI辅助下的教师解题教学策略研究教学研究课题报告.docx
- 初中舞蹈美育课程对学生道德情感培养的研究教学研究课题报告.docx
- 区域教育评价改革中人工智能在教育评价中的应用效果评估研究教学研究课题报告.docx
- 初中物理教学计划管理与智能决策支持策略探讨教学研究课题报告.docx
- 初中数学课堂中基于情境创设的生成性教学策略分析教学研究课题报告.docx
- 高中生物:基于SEIR模型的新冠病毒疫苗研发周期预测与优化策略研究教学研究课题报告.docx
- 高中语文教学中的文学名著解读与审美能力培养实践研究教学研究课题报告.docx
- 《触觉感知训练在视障儿童家庭教育中的应用研究》教学研究课题报告.docx
- 《激光加工技术在金属复合材料制造中的工艺优化与性能提升研究》教学研究课题报告.docx
原创力文档


文档评论(0)