欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言教程课件Ch10-4字符串指针.ppt

    • 资源ID:70100801       资源大小:322.49KB        全文页数:13页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言教程课件Ch10-4字符串指针.ppt

    10.1 10.1 指针的概念指针的概念指针的概念指针的概念10.2 10.2 变量的指针和指向变量的指针变量变量的指针和指向变量的指针变量变量的指针和指向变量的指针变量变量的指针和指向变量的指针变量10.3 10.3 数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量数组的指针和指向数组的指针变量10.4 字符串的指针和指向字符串的指针变量字符串的指针和指向字符串的指针变量10.5 10.5 函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量10.6 10.6 返回指针的函数返回指针的函数返回指针的函数返回指针的函数10.7 10.7 指针数组和指向指针的指针指针数组和指向指针的指针指针数组和指向指针的指针指针数组和指向指针的指针10.8 10.8 有关指针的数据类型和指针运算的小结有关指针的数据类型和指针运算的小结有关指针的数据类型和指针运算的小结有关指针的数据类型和指针运算的小结一、字符串的表示形式一、字符串的表示形式 1字符数组:字符数组:存放存放字符串字符串。例:例:void main()static char string=I Love China!;printf(%sn,string);2字符串指针变量:字符串指针变量:指向指向字符串字符串。例:例:void main()char *string=I Love China!;printf(%sn,string);10.4 10.4 字符串的指针和指向字符串的指针变量字符串的指针和指向字符串的指针变量字符串的指针和指向字符串的指针变量字符串的指针和指向字符串的指针变量 void main()static char a=I am a boy.,b20;int i;for(i=0;*(a+i)!=0;i+)*(b+i)=*(a+i);*(b+i)=0;printf(string a is:%sn,a);printf(string b is:%sn,b);例例1:将字符串将字符串a复制到字符串复制到字符串b中。中。方法方法1:void main()char a=I am a boy.,b20,*p1,*p2;p1=a;p2=b;for(;*p1!=0;p1+,p2+)*p2=*p1;*p2=0;printf(string a is:%sn,a);printf(string b is:%sn,b);方法方法2:I a m a b o y .0ap1p2Imab o y.0char *p1=I am a boy.,*p2;二、字符串指针作函数参数二、字符串指针作函数参数void copy_string(char from,char to)int i=0;while(fromi!=0)toi=fromi;i+;toi=0;void main()static char a=I am a teacher.;static char b=You are a student.;printf(string_a=%snstring_b=%sn,a,b);copy_string(a,b);printf(string_a=%snstring_b=%sn,a,b);例例2:用函数调用实现字符串的复制。:用函数调用实现字符串的复制。方法方法1:问问:对字符数组对字符数组a a与与b b的长度有否限制的长度有否限制?方法方法2:void copy_string(char*from,char*to)for(;*from!=0;from+,to+)*to=*from;*to=0;I a m a t e a c h e r .0 Y o u a r e a s t u d e n t .0 void main()char*a=I am a teacher.;char *b=You are a student.;printf(string_a=%snstring_b=%sn,a,b);copy_string(a,b);printf(string_a=%snstring_b=%sn,a,b);abfromtoIa mataech er.0例例3:有一个长度不大于有一个长度不大于40的字符串的字符串,已知其中总包已知其中总包含两个字符含两个字符A,求处于两个字符求处于两个字符A中间的字符个数中间的字符个数,及这些字符及这些字符.int sub(char*x,char*y)int i,n=0;for(i=0;*(x+i)!=0;i+)if(*(x+i)=A)break;do i+;*(y+n)=*(x+i);n+;while(*(x+i+1)!=A);*(y+n)=0;return(n);void main()char a40,b40;int l;int sub(char*x,char*y);gets(a);l=sub(a,b);printf(l=%dn,l);printf(%sn,b);char*a=I love china;char*a;a=I love china;三、字符指针变量与字符数组的区别三、字符指针变量与字符数组的区别1.字符指针变量中存放的是字符指针变量中存放的是地址地址,绝决不是将字符,绝决不是将字符串放到字符指针变量中。串放到字符指针变量中。2.赋初值的方式:对数组可以在变量定义时整体赋赋初值的方式:对数组可以在变量定义时整体赋初值,但不能在赋值语句中整体赋值。初值,但不能在赋值语句中整体赋值。char str14=“I love China!;char str14;str=“I love China!”;3指针变量可以指向一个字符型数据,但如果未指针变量可以指向一个字符型数据,但如果未 对它赋以一个地址值,则它并未具体指向哪一对它赋以一个地址值,则它并未具体指向哪一 个字符数据。个字符数据。如如:char *a;scanf(%s,a);是错误的是错误的4指针变量的值是可以改变的,而数组名所指的指针变量的值是可以改变的,而数组名所指的 地址是固定的。地址是固定的。如:如:main()char *a=I love China!;a=a+7;printf(%s,a);运行结果:运行结果:China!5用指针变量指向一个格式字符串。用指针变量指向一个格式字符串。如:如:void main()static char a=I love China!;a=a+7;printf(%s,a);是错误的!是错误的!char *format;format=a=%d,b=%fn;printf(format,a,b);printf(a=%d,b=%fn,a,b);例例4:4:有两个字符串有两个字符串str1,str2,str1,str2,编程序将编程序将str1,str2str1,str2中对应字符较大的放到数组中对应字符较大的放到数组str3str3中中.void main()char*str1=Chinese,*str2=India,str340;ccc(str1,str2,str3);puts(str3);str1str2C h i n e s e 0 I n d i a 0str3 void ccc(char*s1,char*s2,char*s3)int i;for(i=0;*(s1+i)!=0&*(s2+i)!=0;i+)*(s3+i)=*(s1+i)*(s2+i)?*(s1+i):*(s2+i);if(*(s1+i)=0)while(*(s2+i)!=0)*(s3+i)=*(s2+i);i+;if(*(s2+i)=0)while(*(s1+i)!=0)*(s3+i)=*(s1+i);i+;*(s3+i)=0;C h i n e s e 0 I n d i a 0s1s2s3In in ese0 void main()char*str1=Chinese,*str2=India,str340;ccc(str1,str2,str3);puts(str3);问问:能否将能否将 char str340;char str340;改为改为 char*str3;char*str3;10.5 10.5 函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量函数的指针和指向函数的指针变量

    注意事项

    本文(C语言教程课件Ch10-4字符串指针.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开