单元09-2-函数和指针-字符串和指针_第1页
单元09-2-函数和指针-字符串和指针_第2页
单元09-2-函数和指针-字符串和指针_第3页
单元09-2-函数和指针-字符串和指针_第4页
单元09-2-函数和指针-字符串和指针_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

指针主讲:沈涵飞C语言程序设计函数的传地址调用函数f的空间传值调用#include<stdio.h>

intf(intx){inty;if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=3*x-11;returny;}intmain(){intn;scanf("%d",&n);printf("%d\n",f(n));return0;}申请x和y的空间计算返回y的值y函数main的空间xn匿名形式参数实际参数存放f(n)传地址调用#include<stdio.h>voidswap(int*px,int*py){intt;t=*px;*px=*py;*py=t;}intmain(){inta=5,b=3;swap(&a,&b);printf("%d%d\n",a,b);return0;}函数swap的空间py函数main的空间pxabt传址调用的应用:函数返回多个值#include<stdio.h>voidadd_sub(doublex,doubley,double*t1,double*t2){*t1=x+y;*t2=x-y;}

intmain(){doublea,b,c,d;scanf("%lf%lf",&a,&b);add_sub(a,b,&c,&d);printf("sumis%.3lf,subis%.3lf\n",c,d);return0;}函数add_sub的空间t2函数main的空间t1abxdcy数组作为参数采用传地址调用#include<stdio.h>voidbubble_sort(intv[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(v[j]>v[j+1]){t=v[j];v[j]=v[j+1];v[j+1]=t;}}intmain(intargc,char*argv[]){inti,v[6]={2,3,9,1,0,7};bubble_sort(v,6);for(i=0;i<6;i++)printf("%d",v[i]);printf("\n");return0;}012379小结

函数的传地址调用函数通常采用传值调用需要改变变量的值采用传地址调用函数返回多个值采用传地址调用数组作为参数采用传地址调用,避免数据的大量搬移函数swap的空间py函数main的空间pxabt指针主讲:沈涵飞C语言程序设计字符指针和指针数组字符指针和字符串#include<stdio.h>intmain(intargc,char*argv[]){charamessage[]="hello";char*pmessage="hello";puts(amessage);puts(pmessage);printf("%d%d\n",sizeof(amessage),sizeof(pmessage));return0;}amessage字符串的首地址pmessagehello

\064指针数组的典型应用是保存字符串的地址

constchar*strings[]={"There","are","some","sample","strings","to","be","sorted"};inti,n=sizeof(strings)/sizeof(*strings);[]表示的是数组strings是数组的首地址*表示数组中保存的内容是地址char表示地址指向的是字符(字符串的首地址)4320x0028FF240x0028FF200x0028FF28There

\0are

\0指针数组的典型应用是保存字符串的地址intmycmp(constvoid*s1,constvoid*s2){constchar*l=*(constchar**)s1;constchar*r=*(constchar**)s2;size_tll=strlen(l),lr=strlen(r);if(ll>lr)return-1;if(ll<lr)return1;returnstrcasecmp(l,r);}0x0028FF240x0028FF200x0028FF28There

\0are

\0小结字符指针和指针数组字符指针保存的内容是字符串的地址指针数组:数组中保存的内容是指针指针数组最典型的应用是存放具有不同长度的字符串的地址0x0028FF240x0028FF200x0028FF28Ther

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论