指针与函数.ppt

上传人:hyn****60 文档编号:88401395 上传时间:2023-04-26 格式:PPT 页数:31 大小:193.50KB
返回 下载 相关 举报
指针与函数.ppt_第1页
第1页 / 共31页
指针与函数.ppt_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《指针与函数.ppt》由会员分享,可在线阅读,更多相关《指针与函数.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、指针与函数指针变量作为函数参数函数中形参可以是各种类型,包括指针类型。见例子10.3。nswap(int*p1,int*p2)nint*temp;n*temp=*p1;/*此语句有问题*/n*p1=*p2;n*p2=*temp;nn请考虑下面的函数能否实现实现a和b互换。nswap(int x,int y)nint temp;n temp=x;n x=y;n y=temp;n请注意,不能企图通过改变指针形参的值而使指针实参的值改变。见例子10.4见例子10.5数组名做函数参数n数组名可以作函数的实参和形参。如:nmain()nint array10;n n n f(array,10);nn n

2、nf(int arr,int n);n nn n见例子10.6。nvoid inv(int*x,int n)/*形参x为指针变量*/nn int*p,temp,*i,*j,m=(n-1)/2;n i=x;j=x+n-1;p=x+m;n for(;i=p;i+,j-)ntemp=*i;*i=*j;*j=temp;n return;n见例子10.7。nmain()nint i,number10,*p;n p=number;/*使p指向number数组*/n printf(enter 10 integer umbers:n);n for(i=0;ib)return a;n else return b

3、;nnmain()n int max(int a,int b);n int(*pmax)();n int x,y,z;n pmax=max;n printf(input two numbers:n);n scanf(%d%d,&x,&y);n z=(*pmax)(x,y);n printf(maxmum=%d,z);n指向函数的指针作函数参数Sub(int(*x1)(int),int(*x2)(int,int)int a,b,i,j;a=(*x1)(i);b=(*x2)(i,j);见例子1013。返回指针值的函数n前面我们介绍过,所谓函数类型是指函数返回值的类型。在语言中允许一个函数的返回值是

4、一个指针(即地址),这种返回指针值的函数称为指针型函数。n定义指针型函数的一般形式为:n 类型说明符*函数名(形参表)n n /*函数体*/n n其中函数名之前加了“*”号表明这是一个指针型函数,即返回值是一个指针。类型说明符表示了返回的指针值所指向的数据类型。n如:n int*ap(int x,int y)n n ./*函数体*/nn表示ap是一个返回指针值的指针型函数,它返回的指针指向一个整型变量。n见例子1014。指针数组见例子1010、1011。指向指针的指针见例子1012。指针数据类型小结定义含 义int i;定义整型变量iint*pp为指向整型数据的指针变量int an;定义整型数

5、组a,它有n个元素int*pn;定义指针数组p,它由n个指向整型数据的指针元素组成int(*p)n;p为指向含n个元素的一维数组的指针变量int f();f为带回整型函数值的函数int*p();p为带回一个指针的函数,该指针指向整型数据int(*p)();p为指向函数的指针,该函数返回一个整型值int*p;P是一个指针变量,它指向一个指向整型数据的指针变量n现把全部指针运算列出如下:n指针变量加(减)一个整数:n例如:p+、p-、p+i、p-i、p+=i、p-=in一个指针变量加(减)一个整数并不是简单地将原值加(减)一个整数,而是将该指针变量的原值(是一个地址)和它指向的变量所占用的内存单元

6、字节数加(减)。n指针变量赋值:将一个变量的地址赋给一个指针变量。np=&a;(将变量a的地址赋给p)np=array;(将数组array的首地址赋给p)np=&arrayi;(将数组array第i个元素的地址赋给p)np=max;(max为已定义的函数,将max的入口地址赋给p)np1=p2;(p1和p2都是指针变量,将p2的值赋给p1)n注意:不能如下:np=1000;n指针变量可以有空值,即该指针变量不指向任何变量:np=NULL;n两个指针变量可以相减:如果两个指针变量指向同一个数组的元素,则两个指针变量值之差是两个指针之间的元素个数。n两个指针变量比较:如果两个指针变量指向同一个数组的元素,则两个指针变量可以进行比较。指向前面的元素的指针变量“小于”指向后面的元素的指针变量。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁