C语言程序设计(第2版)(满春雷 赵奇)PPT全套完整教学课件.ppt

C语言程序设计(第2版)(满春雷 赵奇)PPT全套完整教学课件.ppt

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

*字符串的指针和指针变量在程序中定义了一个字符指针变量string,用字符串常量“IloveChina!”初始化实际是把字符串第0个元素的地址赋给指针变量stringchar*string=”IloveChina!”;*字符串的指针和指针变量指向字符串的指针变量的定义,赋给指针变量地址例如:charc,*p=c;表示p是一个指向字符变量c的指针变量【例10.14】输出字符串中第n个字符后的所有字符。#includestdio.hvoidmain(){char*ps=Thisisabook.;intn=10;ps=ps+n;//ps指向第n个字符printf(%s\n,ps);}*字符串的指针和指针变量【例10.15】用指针变量的方法,求字符串的长度。#includestdio.hvoidmain(){char*ps,str[100];intn;printf(Inputastring:\n);gets(str);ps=str;while(*ps!=\0)ps++;//指针变量指向下一个字符n=ps-str;printf(Thelengthis%d\n,n);}*字符串指针作函数参数可以用字符数组名或者指向字符串的指针变量作函数参数,将字符串的地址从一个函数传递给另一个函数。在被调用函数中改变字符串的内容,也就改变了主调函数中的字符串*字符串指针作函数参数【例10.16】用字符串指针作函数参数,实现字符串的复制。#includestdio.hvoidcpystr(char*pss,char*pds)//字符指针变量做函数形参{while((*pds=*pss)!=\0){pds++;pss++;}}voidmain(){char*pa=CHINA,b[10],*pb;pb=b;cpystr(pa,pb);//字符串指针变量做函数实参,也可以写为cpystr(pa,b)printf(stringa=%s\nstringb=%s\n,pa,pb);}虽然函数参数传递是单向值传递,但是由于传递的指针变量的值(即地址),所以pss和pa指向同一字符串,pds和pb指向同一字符串。*字符串指针作函数参数(5)可以把指针的移动和赋值合并在一个语句中,cpystr函数简化为:voidcpystr(char*pss,char*pds){while((*pds++=*pss++)!=\0);}(6)\0的ASCⅡ码值为0,while表达式非0就循环,为0则结束循环,因此也可省略“!=\0”。简化为voidcpystr(char*pss,char*pds){while(*pdss++=*pss++);}*字符串指针作函数参数函数参数可以是字符串数组名,也可以是字符指针变量。有以下几种情况:①实参和形参均为数组②实参和形参均为字符指针变量③实参为数组名,形参为字符指针变量④实参为字符指针变量,形参为数组*字符指针变量和字符数组的讨论字符数组和字符指针变量的区别:(1)字符指针变量是变量,用于存放字符串的首地址,而字符串本身是存放在以该地址为首的一块连续内存空间中。字符数组由若干个数组元素组成的,每个元素中存放一个字符,整个数组可以存放一个字符串,数组名是字符串的首地址,是常量*字符指针变量和字符数组的讨论(2)对字符指针变量赋初值:char*ps=CLanguage;//合法也可以写为:char*ps;ps=CLanguage;//合法而对字符数组赋初值:charstr[20]={CLanguage};//合法不能写为:charstr[20];str={CLanguage};//不合法因为数组名是一个常量,不能给常量赋值*指针变量作为函数参数【例10.3】编写用指针变量作参数的函数,将输入的两个整数按从大到小顺序输出#includestdio.hvoidswap(int*p1,int*p2)//指针变量作形参{inttemp;temp=*p1;//交换p1和p2指向的变量的值*p1

文档评论(0)

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

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

版权声明书
用户编号:6101234030000022

1亿VIP精品文档

相关文档