- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Java程序设计教程(慕课版)(满志强 张仁伟 刘彦君)PPT全套完整教学课件.pptx
- 劳动经济学(杨爱元)PPT全套完整教学课件.pptx
- 电子商务概论(古贞 汪瑜 李德强 姜启波)PPT全套完整教学课件.ppt
- Swift开发标准教程(张明 吴琼 陈瑶 )PPT全套完整教学课件.pptx
- 商业银行经营与管理(谭燕芝)PPT全套完整教学课件.pptx
- 企业财务报表分析(鲁学生 赵春宇)PPT全套完整教学课件.pptx
- Linux实用教程(第3版)(於岳)PPT全套完整教学课件.ppt
- 企业资源规划(第2版)(黄卫东)PPT全套完整教学课件.pptx
- iOS开发标准教程(丁敬香 袁美斌 崔文 )PPT全套完整教学课件.ppt
- 软件工程(瞿中 宋琦 刘玲慧 王江涛) PPT全套完整教学课件.ppt
最近下载
- 简约史湘云红楼梦人物介绍.pptx VIP
- 电力系统课件:第8章 电力系统故障的分析与实用计算.ppt VIP
- 2025新疆能源(集团)石油天然气有限责任公司招聘15人笔试参考题库附答案解析.docx VIP
- 2024年新疆能源石油天然气有限责任公司招聘真题.docx VIP
- 一种光伏逆变器驱动电路.pdf VIP
- (2025秋)人教版二年级数学上册全册教案(新教材).pdf
- 温盐深测量仪电导率传感器校准的优化与提升.PDF VIP
- 2025新疆能源(集团)石油天然气有限责任公司招聘15人笔试备考试题及答案解析.docx VIP
- 黑布林英语阅读高一1《野性的呼唤》中文版.docx
- 第7章电力系统各元件的序参数和等值电路.ppt VIP
文档评论(0)