


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 字符串的表示与引用在语言中,既可以用字符数组表示字符串,也可用字符指针变量来表示;引用时,既可以逐个字符引用,也可以整体引用。(1)逐个引用【例6.6】 使用字符指针变量表示和引用字符串。/*程序名为l6_6.cpp /main() char *string=”I love Beijing.”; for(; *string!=0; string+) printf(“%c”, *string); printf(“n”); 程序运行结果: I love Beijing.程序说明:char *string=I love Beijing.;语句定义并初始化字符指针变量string:用串常量“I love Beijing.”的地址(由系统自动开辟、存储串常量的内存块的首地址)给string赋初值。(2)整体引用【例6.7】采取整体引用的办法,改写例5.9。/*程序名为l6_7.cpp */*程序功能:使用字符指针变量表示和引用字符串*/main() char *string=”I love Beijing.”; printf(“%sn”,string);程序说明:printf(“%sn”,string);语句 通过指向字符串的指针变量string,整体引用它所指向的字符串的原理:系统首先输出string指向的第一个字符,然后使string自动加,使之指向下一个字符;重复上述过程,直至遇到字符串结束标志。注意:其它类型的数组,是不能用数组名来一次性输出它的全部元素的,只能逐个元素输出。2.字符指针变量与字符数组之比较虽然用字符指针变量和字符数组都能实现字符串的存储和处理,但二者是有区别的,不能混为一谈。(1)存储内容不同。字符指针变量中存储的是字符串的首地址,而字符数组中存储的是字符串本身(数组的每个元素存放一个字符)。(2)赋值方式不同。对字符指针变量,可采用下面的赋值语句赋值: char *pointer; pointer=This is a example.;而字符数组,虽然可以在定义时初始化,但不能用赋值语句整体赋值。下面的用法是非法的: char char_array20; char_array=This is a example.; /*非法用法*/(3)指针变量的值是可以改变的,字符指针变量也不例外;3. 字符串指针作函数参数【例6.8】 用函数调用方式,实现字符串的复制。/*程序名为l6_8.cpp */*/*string_copy()函数:复制一个字符串*/ /*形参:字符指针str_from接收源串,字符指针 str_to存储目标串 */*返回值:无*/ /*/void string_copy(char *str_from, char *str_to) int i=0; for(; (*(str_to+i)=*(str_from+i)!=0; i+) ; /*循环体为空语句*/ main() char array_str120=”I am a teacher.”; char array_str220;string_copy(array_str1, array_str2) ; /*数组名作实参*/printf(“array_str2=%sn”, array_str2); 程序运行结果: I am a teacher.程序说明: for(; (*(str_to+i)=*(str_from+i)!=0; i+) ; 语句的执行过程为:首先将源串中的当前字符,复制到目标串中;然后判断该字符(即赋值表达式的值)是否是结束标志。如果不是,则相对位置变量i的值增1,以便复制下一个字符;如果是结束标志,则结束循环。其特点是:先复制、后判断,循环结束前,结束标志已经复制。例:将char a=123456倒序a=654321#include #include void fun (char *w,int m)/m=strlen(a)=6,*w= a=123456 char s,*p1,*p2;p1=w;p2=w+m-1;/系统会自动给w赋初值的。这里就假设p1指向地址是0,那么P2就是5while(p1p2)/而地址0指向值是1,地址5指向的是6 s=*p1; /也就是*p1指向的值是1,*p2向的值是6*p1=*p2;*p2=s;/到这 *p1指向的值是6,*p2指向的值是1,也就是a的第一个地址上的值为6,最后一个为1p1+;p2-;/p1=2;p2=5开始新一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装公司商业计划书(精)讲解
- 矿山粉尘治理中的污染迁移规律研究-洞察及研究
- 建筑方案设计的软件(3篇)
- 建筑方案设计编制说明(3篇)
- 校园消防安全征文指挥(3篇)
- 消防安全校园版(3篇)
- 单体建筑方案设计-合同(3篇)
- 月字旁的演变课件
- 2025年咖啡连锁品牌扩张战略与市场品牌传播渠道选择报告
- 2025年学历类自考专业(护理)儿科护理学(一)-护理学基础参考题库含答案解析(5套)
- 工程设计符合性评价-模版
- DB11-T 1828-2021文物保护工程资料管理规程
- 泌尿系损伤-教案-外科课件
- 供应室pdca质量提高腔镜器械包装合格率品管圈ppt模板课件
- 某大楼建设工程-监理规划
- 故障判断蓝牙音箱类产品faq
- ISO14064-1教材-中文PPT课件.ppt
- KDL16变频器更换步骤
- 英语教学经验交流发言稿
- 高中化学 1.2.1 研究物质性质的基本方法课件(1)鲁科版必修第一册-鲁科版高中第一册化学课件
- SAGEERPX3V5总账
评论
0/150
提交评论