C语言程序设计教程教学课件李淑华 第14讲指针.ppt

C语言程序设计教程教学课件李淑华 第14讲指针.ppt

ID:50084592

大小:71.00 KB

页数:18页

时间:2020-03-08

C语言程序设计教程教学课件李淑华 第14讲指针.ppt_第1页
C语言程序设计教程教学课件李淑华 第14讲指针.ppt_第2页
C语言程序设计教程教学课件李淑华 第14讲指针.ppt_第3页
C语言程序设计教程教学课件李淑华 第14讲指针.ppt_第4页
C语言程序设计教程教学课件李淑华 第14讲指针.ppt_第5页
资源描述:

《C语言程序设计教程教学课件李淑华 第14讲指针.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十四讲指针9.3指针与数组(下)9.4指针与字符串9.5指针数组9.3.3指针变量的运算如果p=a;a为一数组,则:(1)p++(或p+=1);p指向下一元素,即a[1].若再执行*p,取出下一个元素a[1]的值。(2)*p++等价于*(p++),由于++和*同优先级,是自右向左结合。作用:是先得到p指向变量的值(即*p),然后再使p+1→p.(3)*(P++)与*(++P)作用不同。前者是先取*P值,后使P加1,后者是先使P加1,再取*P。若初值为a(即&a[0]),输出*(P++)时,得a[0]的

2、值,而输出*(++P),则得到a[1]的值。(4)(*P)++表示P所指向的元素值加1,即a[0]++,若a[0]=3,a[0]++=4,注意:是元素值加1,而不是指针值加1。(5)如果P当前指向a数组中第i个元素,则:*(P--)相当于a[i--],先取p值作“*”运算,再使p自减。*(++P)相当于a[++i],先使p自加,再作*运算。*(--P)相当于a[--i],先使p自减,再作*运算。9.3.4数组名作函数的参数如:main()f(b,n){inta[10];inta[],n;┆{f(a,10

3、);┆┆}}说明:用数组名作实参,在调用函数时是把数组的首地址传送给形参(注意:不是把数组的值传给形参)。实参数组与形参数组共占同一段内存。a,ba[0]b[0]用变量名和用数组名作为函数的参数作一比较:实参类型变量名数组名要求形参类型变量名数组名或指针变量传递的信息变量的值数组的起始地址通过函数调用能否改变实参的值不能能例9.7将数组a中n个整数按相反顺序存放。即将a[0]与a[n-1]交换,将a[1]与a[n-2]交换-----。main(){voidinv();staticinti,a[10]={

4、8,3,5,1,6,4,2,9,12,10};printf(“a[10]=“);for(i=0;i<10;i++)printf(“%d,”,a[i]);printf(“”);inv(a,10);printf(“a[10]=“);for(i=0;i<10;i++)printf(“%d,”,a[i]);printf(“”);}voidinv(x,n)inta[],10;{intt,I,j,m=(n-2)/2;for(i=0;i<=m;i++){j=n-1-i;t=x[i];x[i]=x[j];x[j

5、]=t;}}如果有一个实参数组,想在函数中改变此数组的元素的值,实参与形参对应关系的以下4种情况:(1)形参和实参都用数组名,如:main()f(intx[],intn){inta[10];{┆┆F(a,10);}┆}a和x为数组,传递的是a数组的首地址。a和x数组共用一段内存单元,即在调用函数期间,a和x指的是同一数组。┆数组a,xa[0],x[0]a[9],x[9]实参用数组名,形参用指针变量。如:main()f(int*x,intn){inta[10];{┆┆f(a,10);}┆}实参a为数组名,

6、形参x为指向整型变量的指针变量,函数开始执行时,x指向工a[0],即x=&a[0]。通过x值的改变量,可以指向a数组中的任一元素。┆数组axa[0]a[9]实参和形参都用指针变量。如:main()f(int*x,intn){inta[10],*p;{p=a;┆┆}f(p,10);┆}实参p和形参x都是指针变量。先使实参指针变量p指向数组a,p的值是&a[0]。然后将p的值传递给形参指针变量x,x的初值也是&a[0],通过x值的改变可以使x指向数组a的任一元素。┆P,xa[0]数组aa[9](4)实参为指

7、针变量,形参为数组名。如:main()f(intx[],intn){inta[10],*p;{------}p=a;┆f(p,10);┆}┆实参p为指针变量,它使指针变量p指向a[0],即p=a或p=&a[0]。形参为数组名x,实际上是将x作为指针变量处理,今将a[0]的地址传递给形参x取得a数组的首地址,x数组和a数组共用同一段内存单元。在函数执行过程中可以使x[i]值变化,它就是a[i]。主函数可以使用变化了的数组元素值。pa[0],x[0]a[9],x[9]9.4指针与字符串在C程序中,可以用两种

8、方法使用字符串:字符数组;字符指针。9.4.1字符数组例9.8用字符数组输入一个字符串Main(){charstr[]=“Ilovechina!”;Printf(“%s”,str);}9.4.2字符指针例9.9定义一个字符指针,用字符指针指向字符串中的字符。main(){char*str=“Ilovechina!”;printf(“%s”,atr);}这里没有定义字符数组,在程序中定义了一个字符指针变量str。给定一个字符串常量“Ilo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。