网站大量收购独家精品文档,联系QQ:2885784924

字符串与指针,指向函数指针.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
字符串与指针,指向函数指针

*10.4 字符串与指针 10.4.1 字符串的表示: c语言中字符串有两种表示形式:一种是用数组,一种是字符指针. str str[0] p 1.用字符数组: { char str[ ]=“He is a boy”; printf(“%s\n”,str;} H e i s a b o y \0 str+4 p+4 H e i s a b o y \0 (1)数组名 str 代表串首地址。 (2)str+i→ i号元素的地址。 str+4→第4号元素的地址. (3)*(str+i)第i号元素的值. *(str+4)→同str[4], str+4是地址,指向→‘s’ 2.用字符指针指向一字符串 {char *strp=“He is a boy”; printf (“%s\n”,strp); 相当于:char *strp ← 字符指针. strp= “He is a bog”. 注意:用数组表示时,只能初始化时赋值,不能用 char str[20 ]; str [ ]=“He is a boy”赋值。(去掉[ ]也错) 将字符串的首地址送字符指针strp,不是把字符串送*strp。 相当于 char str [ ]=“He is a boy”; char *strp ; strp=str; (1) strp←字符串str的首地址. (2) strp+i→ strp+4 → (3)*(strp+i) → *(strp+4) → (4) strp[i] →第i号元素的值(用下标方式): 如:strp[5] →第5号元素的值与a[5]同。 串的第 i号元素地址 串的第4号元素地址 第i号元素的值(用地址方式) 第4号元素的值。 例3(例10.18,10.19) 用两种方法将a串复制到b 串。 a. 用字符数组作 用a[i]如何作? void main( ) {char a[ ]=“he is a boy”, b[20]; int i; for ( 初值; 条件; ___ ) _________ _________ printf(“串a 为%s”,a); printf(“串b为%s”,b); } for(i=0; *(a+i)!=‘\0’; i++) *(b+i)=*(a+i); *(b+i)=‘\0’; (i=0; a[i]!=‘\0’; i++) b[i]=a[i]; b[i]=‘\0’; 用*(a+i)表示各元素的值,循环如何作? p1,p2指向a,b; 循环将a元素给b; 置b的结束标志. (2)用字符指针作 void main( ) { char a [ ]=“He is a boy”, b[20]; char *p1,*p2; printf(“字串a为:”); puts(a); printf(“字串b为:%s\n”,p2); } 注:可以用多种方法输出串. p1=a; p2=b; for( ;*p1!=‘\0’; p1++,p2++) *p2=*p1; *p2=‘\0’; for( ;___!=‘\0’; p1++,___;) 10.4.2 字符串指针做函数参数 在参数传递中,即可用数组名,也可以用字符串指针变量。 实参 形参 1. 数组名 数组名 2. 数组名 字符指针变量 3. 字符指针变量 数组名 4. 字符指针变量 字符指针变量 以上四种情况均可. 例4,用函数调用,实现字符串的复制. 1.用字符数组作参数 (10.19) void main( ) {char a[ ]=“ I love china”, b[20]; printf(“a串为 :%s \n”,a); copys (a,b); printf(“b串为:%s \n”,b)

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档