c语言第13讲指针与字符串(字符数组)

c语言第13讲指针与字符串(字符数组)

ID:39963430

大小:1.30 MB

页数:18页

时间:2019-07-16

c语言第13讲指针与字符串(字符数组)_第1页
c语言第13讲指针与字符串(字符数组)_第2页
c语言第13讲指针与字符串(字符数组)_第3页
c语言第13讲指针与字符串(字符数组)_第4页
c语言第13讲指针与字符串(字符数组)_第5页
资源描述:

《c语言第13讲指针与字符串(字符数组)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.2.3指针与字符串(字符数组)①C语言用字符数组存放字符串。▲字符数组:元素个数确定,一般用下标控制循环。▲字符串:有效字符个数由‘’确定,用结束符‘’控制循环。②字符数组名和字符串的值都是地址(字符串的首地址)1、字符串的访问方法:▲直接引用字符串:char*chp,ch[]=”abcde”;/*定义字符指针和字符数组*/chp=ch;/*指针指向字符数组*/putchar(*(chp+2));/*通过指针引用数组元素*/printf(“%s,%s”,ch+1,chp+2);▲引用字符数组:char*chp;/*说明字符指针*/chp=“Hello!”

2、;/*指针指向字符串*/puts(chp);/*通过指针引用字符串*/字符指针可直接指向字符串:char*chp=“Hello!”;输出??无名一维字符数组’’例1: 输出字符串#includevoidmain(){chars[]=“computer”,*ps=s;while(*ps!=‘’){putchar(*ps);ps++;}}main(){charstr[80],*p,ch;inti=0;p=str;gets(p);ch=getchar();for(;*p!=‘’;p++)if(*p!=ch)str[i++]=*p;str[i]

3、=‘’;printf(“Thenewstringis:%s”,str);}例2:在输入的字符串中删除指定的字符2000Hpstr[0]str[1]str[2]2000H2001H2002H2003H2004H2005H2006Hch0i运行程序:abcdefc···2000Hstrabdefabcdefcstrprintf(“%s”,ps);或:puts(ps)Thenewstringis:abdef▲字符指针(变量)与字符数组的区别字符指针与字符数组:两者均可存储和运算字符串。主要区别:①存储格式不同:字符指针变量中存放的是字符串的首地址(2字节)

4、;而字符数组中存放的是整个字符串(一个数组元素存放一个字符)。②性质不同:字符数组名是地址常量,不能改变(指向首字符);字符指针是地址变量,可以改变(指向不同的字符)。③赋值方式不同:字符指针char*ps=“Hello”;char*ps;ps=“Hello”;字符数组charst[]=“Hello”;×charst[80];st=“Hello”或:st[]=“Hello”用循环逐个赋值或用strcpy()函数赋值例:统计字符串中的各元音字母的个数(P182例6.15)#includevoidmain(void){charstr[80],*p;in

5、ta=0,e=0,i=0,o=0,u=0;gets(str);for(p=str;*p!='';p++){switch(*p){case'a':case'A':a++;break;case'e':case'E':e++;break;case'i':case'I':i++;break;case'o':case'O':o++;break;case'u':case'U':u++;}}printf("a:%3de:%3di:%3do:%3du:%3d",a,e,i,o,u);}循环遍历数组元素判断字母。判断字符串是否结束2.字符串指针做函数参数(见P

6、183表6-2)#includevoidcpystr(char*s1,char*s2){while(*s2!='')*s1++=*s2++;*s1='';}voidmain(void){charstr1[20],str2[]="123456abcdef";printf("str2:%s",str2);printf("str1:%s",str1);cpystr(str1,str2);printf("str2:%s",str2);printf("str1:%s",str1);}去掉该句,对程序结果是否有影响?例:编写函数,用指针

7、进行字符串的复制,6.2.4指针数组指针是存放其它数据对象地址的变量。也可以构成数组。每个数组元素均为一个指针变量,且在内存中连续存放。1.指针数组定义格式:type*数组名[元素个数];int*p[4];定义(说明)p是含有4个元素的指针数组,每个元素都是一个指向整型变量的指针(二级指针)。p[0]p[1]p[2]p[3]数组名p为数组的首地址。使用前必须让各元素指向对象。inti,a[3][4],*p[3];for(i=0;i<3;i++)p[i]=a[i];*(p[i]+j)=2;/*通过指针数组引用数组元素a[i][j]*/2、用指针数组处理多字符串例:

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

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

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