版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章指针8. 指针概述指针变量的赋值与引用第8章痔童卜指针变量的运算指针与数组指针与函数带参数的main。函数及其使用程序举例20311/20_C语言程序设计第8章指针8.5指针与函数1、指针作为函数参数例8.10编写一个交换两个变量值的函数。#include"stdio.h"main()inta,b,*pa,*pb;voidswap(int*pl9int*p2);scanf(M%d%d*&a,&b);pa=&a;pb=&b;swap(pa.pb);/*或swap(&a,&b);*/pr
2、intf(Ma=%d,b=%dn”,a.b);C珞言程序设计I第8章第针voidswap(int*pljnt*p2)inttemp;temp=*pl;*pl=*p2;*p2=temp;2OI6/II/2OC沿志程序谀计第8章指针2、返回指针值的函数其定义形式为:类型标识符*函数名(形式参数表)例如:int*fun()这时要求在函数体中有返回指针的语句。例8.13定义一个函数,将两个数中较大数的地址返回。int*fun(inta,intb)int*p;if(a>b)p=&a;elsep=&b;return(p);int *fun(int b)if(a>b)
3、retum(&a); elsereturn(&b);2016/11/20C语言程序设计第8章指针2016/1IZ20C语言程序设计有了指针的概念后,就有了以卜4种情况:用数组名作函数参1、实参和形参都是数组名;2、实参是数组名,形参是指针变量;3、实参是指针变量,形参是数组名;4、实参和形参都是指针变量。第8章第针例8.14编写函数fun(),其功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。程序中由主函数调用fun()函数。例如,s所指字符串为:asdl23fgh5#43df,处理后新字符串为:123543asdfg
4、h#df。邙W20:C语古程序设计#include<stdio.h>#include<string.h>Mincludc<stdlib.h>#include<ctypc.h>charsfun(char*s)inti,j,k,n;char.t;n=strlcn(s>+l;t2(char*)malloc(n*sizcof(char);/申请n个char型内存空间,苜地址给t*/p=(char*)malI(k(n*sizcof(char);/*申请n个char仪内存空间,首地址给p*/户0;k=0:for(i=0;i<n;i+)if(isd
5、igit(si)|pUMi;j+F;)”数字字符放入p/clsct|kMi;k+;|"非数字字符放入t*/Ifor(i=0;i<k;i+)pU+i卜呵;"将t连接到p后叶plj+k)=0;"给串尾加结束标志,也可p(j+k|=V)*;*/returnp;Imain()chars80;printffPleaseinput:l,);scanfCl%sH,s);printf(,tnThcresultis:%sn*fun(s);第8章第针3、指向函数的指针指向函数的指针一般形式为:类型标识符(*指针变量名)(形式参数表);例如:int(*p)(int,int);fl
6、oat(*q)(int);与数组名代表数组的首地址一样,函数名代表函数的入口地址。2OWII/2OC语言程序谟计第8章第针/16/11/20 IC珞言程序设计第8章指针2016/110C语言程序设计第8章指针“1611/20C语古程序谀计第8章指针2帕川20 C语言狸序设计指针作为函数的参数;2、3、4、函数返回指针型的参数:指向函数的指针的定义及其使用;带参数的主函数的定义及运行方法。2016/11/20|Ci吾土程序设计第8章第针作业:P159一、选择题:9、10、11P162二、填空题:4、5课堂练习写出下面程序的运行结果:1、include''stdio.h"
7、voidfun(int*x)printf(M%dn,+*x);main()运行结果:26inta=25;fun(&a);20111/20|C语吉衽序设计第8章指针2、运行结果:CI =8x2=7 765#includeMstdio.hHmain()char*ptrl,*ptr2;ptrl=ptr2=n8765u;ptr2+;printf(''cl=%c,c2=%cn'',*ptrl,*ptr2);while(*ptr2!=,0,)putchar(*ptr2+);putchar('n');第8章第针4、运行结果:*p=l,x=3,y=5#i
8、ncludeMstdio.hHmain()intan=l,2,3,4,5;intx,y,*p;p=&aO;x=*(p+2);y=*(P+4);printf(M*p=%d,x=%d,y=%dn,*p,y);2016/11/20|C语言程序设计第8章指针有以下程序/include“stdio.h"main(intargcchar*argv)intn=0,i;for(i=l;i<argc;i+)n=n*10+*argvi|-t0,;printf(u%ln,n);)编译连接后生成可执行文件tt.exe,若运行时输入以下命令行tt12345678程序运行后的输出结果是()A)12B)123450)12345678D)136#includc-stdio.h*/*实验四第,道编程题参考做法*/main()inti,n,a|l()|,min,max.s1,s2,t;scanf(u%dM,&n);for(i=():ivn;i+)scanf("d”,&ai);min=a0;sl=O;max=a0;s2=0;for(i=0;i<n;i+)if(ail<m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (部编版八年级《政治》课件)第2课时-维护国家安全
- 电梯控制系统电路改造合同
- 钢管混凝土砌体施工协议
- 工厂园区道路混凝土路面铺设协议
- 师范大学校长任期聘用协议
- 地下室防水堵漏服务合同
- 森林防火通道砂石施工合同
- 抗震加固水电班组施工合同
- 餐饮业简易劳动合同样本
- 药品库房操作技能
- 小班数学《开火车》课件
- 银行保安服务整体服务设想及策划
- 六年级百分数乘法计算专题练习题100道(家长老师必备-直接打印使用)
- 教育部家庭教育指导手册
- 2024年反电诈知识培训考试题库(附答案)
- 小学六年级数学知识小故事趣味阅读20篇
- 急诊科护士长年终工作总结
- 学生会学习部面试问题
- 股市买入和卖出经典口诀课件
- 跌倒坠床原因分析课件
- 哈萨克斯坦国别分析报告
评论
0/150
提交评论