- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计方法第9讲-2讲述
9.4 字符串的指针和指向字符串的指针变量 字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。 9.4.1 字符串的表示与引用 在C语言中,既可以用字符数组表示字符串,也可用字符指针变量来表示;引用时,既可以逐个字符引用,也可以整体引用。 1.逐个引用 [案例9.8] 使用字符指针变量表示和引用字符串。 /*案例代码文件名:AL9_8.C*/ 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赋初值。 该语句也可分成如下所示的两条语句: char *string; string=I love Beijing.; 注意:字符指针变量string中,仅存储串常量的地址,而串常量的内容(即字符串本身),是存储在由系统自动开辟的内存块中,并在串尾添加一个结束标志’\0’。 2.整体引用 [案例9.9] 采取整体引用的办法,改写[案例9.8]。 /*案例代码文件名:AL9_9.C*/ /*程序功能:使用字符指针变量表示和引用字符串*/ #include stdio.h main() { char *string=”I love Beijing.”; printf(“%s\n”,string); } 程序说明:printf(%s\n,string);语句 通过指向字符串的指针变量string,整体引用它所指向的字符串的原理:系统首先输出string指向的第一个字符,然后使string自动加1,使之指向下一个字符;重复上述过程,直至遇到字符串结束标志。 注意:其它类型的数组,是不能用数组名来一次性输出它的全部元素的,只能逐个元素输出。 例如: int array[10]={……}; ...... printf(%d\n,array); /*这种用法是非法的*/ ...... 3.字符指针变量与字符数组之比较 虽然用字符指针变量和字符数组都能实现字符串的存储和处理,但二者是有区别的,不能混为一谈。 (1)存储内容不同。 字符指针变量中存储的是字符串的首地址,而字符数组中存储的是字符串本身(数组的每个元素存放一个字符)。 (2)赋值方式不同。 对字符指针变量,可采用下面的赋值语句赋值: char *pointer; pointer=This is a example.; 而字符数组,虽然可以在定义时初始化,但不能用赋值语句整体赋值。下面的用法是非法的: char char_array[20]; char_array=This is a example.; /*非法用法*/ (3)指针变量的值是可以改变的,字符指针变量也不例外;而数组名代表数组的起始地址,是一个常量,而常量是不能被改变的。 9.4.2 字符串指针作函数参数 [案例9.10] 用函数调用方式,实现字符串的复制。 /*案例代码文件名:AL9_10.C*/ /**********************************************************/ /*string_copy()函数:复制一个字符串 */ /*形参:字符指针from接收源串,字符指针to存储目标串 */ /*返回值:无 */ /**********************************************************/ void string_copy(char *from, char *to) { for(;*to++=*from++;); /*循环体为空语句*/ } main() {char a[20]=”I am a teacher.”; char
您可能关注的文档
- 第3章生命活动的调节同步练习详解.doc
- 移动基站传输管线工程管理规范要求讲述.ppt
- 移动互联网发展讲述.pptx
- 移动和阅读竞品讲述.ppt
- 第9讲对象赋值静态成员友元类模板详解.ppt
- 移动智能巡检信息系统讲述.doc
- 移动电话外观检验标准(最新)讲述.pptx
- 移动性状态管理讲述.ppt
- 移动红脚手架施工及设计方案讲述.doc
- 移动终端软件设计习题集讲述.doc
- Sony索尼Headphones, Audio & Video MZ-R55 Operating Instructions(第3份)_英文.pdf
- Sony索尼Headphones, Audio & Video MDS-S40 Operating Instructions(第2份)_英文.pdf
- Sony索尼Headphones, Audio & Video MDR-DS8000 Operating Instructions_英文说明书用户手册.pdf
- 2025年整理-银行外汇会计网络处理系统项目优化需求说明书.pdf
- Sony索尼Car & Marine Entertainment XM-GS6DSP Operating Instructions_英文说明书用户手册.pdf
- 法务专员年终报告案例手册.pdf
- Sony索尼Car & Marine Entertainment CDX-G3170UV Operating Instructions_英文说明书用户手册.pdf
- Sony索尼Headphones, Audio & Video MHC-BX6AV Operating Instructions_英文说明书用户手册.pdf
- Sony索尼Headphones, Audio & Video MHC-BX2 Operating Instructions_英文说明书用户手册.pdf
- Sony索尼Headphones, Audio & Video MDR-DS6000 Operating Instructions(第3份)_英文.pdf
最近下载
- 企业采购管理蔬菜采购验收标准DOC56页.pdf VIP
- 2025年云南省中考物理试题卷(含答案解析).docx
- 体温测量软件GBT 25000.51-2016自测报告.docx VIP
- WS∕T 225-2024 临床化学检验血液标本的采集与处理.pdf
- 信息系统的使用与维护管理办法.doc VIP
- 环境影响评价报告公示大理州永平县汽车客运站环境影响评价报告表环评报告.doc VIP
- 2022年1月广东自考《07114现代物流学》试题和答案 .pdf VIP
- Unit 1 Happy Holiday(大单元教学设计)英语人教版2025八年级上册.pdf
- 2025年军队文职人员公开招录《管理学》真题库(含答案).pdf VIP
- 网络数据安全检查项及检查方法.docx VIP
文档评论(0)