网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言程序设计 课件 第7章 指针.ppt

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

7.2指针变量的应用C语言程序设计C语言规定:若p为指向某一数组的指针变量,则p+1指向同一数组中的下一个元素。例如,intarray[10],*pointer=array;,则:(1)pointer+i和array+i都是数组元素array[i]的地址,如图7-4所示。(2)*(pointer+i)和*(array+i)就是数组元素array[i]。(3)指向数组的指针变量被赋值为数组名后也可按下标法来使用。例如,array[i]等价于*(pointer+i)。通过指针引用数组元素7.2指针变量的应用C语言程序设计名师点睛1)数组名是指针变量,始终是指向数组的首地址;而指针是一个变量,可以实现本身值的改变。如有数组a和指针变量p,则以下语句是合法的。p=a;p++;p+=3;而“a++;”与“a=p”都是错误的。(2)在使用中应注意*(p++)与*(++p)的区别。若p的初值为a,则*(p++)的值等价于a[0],*(++p)等价于a[1],而(*p)++表示p所指向的元素值加1。如果p当前指向a数组中的第i个元素,则有:“*(p--);”等价于“a[i--];”;“*(++)p;”等价于“a[++i];”;“*(--p);”等价于“a[--i];”。C语言程序设计【例7-8】分析程序的运行结果。运行结果语句编写7.2指针变量的应用程序说明:从程序运行结果中可以看出,a[i]、*(a+i)和*p输出的结果都是相同的。源代码见教材2468102468102468107.2指针变量的应用C语言程序设计指向字符串的指针称为字符串的指针,其类型是char*或unsignedchar*。实际上,只要知道字符串的首地址的指针,就可以通过指针的移动来存取字符串中的每一个字符,直至移动到字符串结束标志\0,因此可以用字符串指针来表示字符串。用字符数组来存储字符串时,数组的指针就是字符串指针。指向字符串的指针变量C语言程序设计【例7-9】字符数组的应用。运行结果语句编写7.2指针变量的应用程序说明:字符数组s长度没有明确定义,默认的长度是字符串中字符个数加1的和(结束标志占一个字符位),s数组的长度应该是14。s是数组名,表示字符数组首地址;s+4表示序号为4的元素的地址,指向字符k。s[4]与*(s+4)表示数组中序号为4的元素的值(k)。字符数组允许用%s格式进行整体输出。源代码见教材ILoveChina!C语言程序设计【例7-10】字符指针的应用。运行结果语句编写7.2指针变量的应用程序说明:C程序将字符串常量ILoveChina!按字符数组处理,在内存中开辟一个字符数组来存放字符串常量,并把字符数组的首地址赋值给字符指针变量s。源代码见教材ILoveChina!C语言程序设计【例7-11】用字符指针指向一个字符串。运行结果语句编写7.2指针变量的应用程序说明:程序中定义了一个字符数组string,并对它进行了赋初值。p是指向字符数据的指针变量,将string数组的起始地址赋给p,p也指向了字符串。最后,程序以“%s”格式输出string和p,从给定的地址开始逐个字符输出,直到遇到\0为止。结果都是输出字符串ILoveChina!。源代码见教材ILoveChina!ILoveChina!7.2指针变量的应用C语言程序设计使用字符数组和字符指针都能处理字符串,但二者之间是有区别的,主要表现在以下3个方面。(1)字符数组由若干个元素组成,每个元素中放一个字符,若用来处理字符串,则必须保证有串结束符。而字符指针变量用来存放字符串的首地址(若未进行初始化,则它指向的地址是不确定的),不是用来存放整个字符串内容的。(2)赋值方式不完全相同,字符数组只能对各个元素赋值,不能整体赋值。(3)在说明一个字符数组后,其地址是确定的,而说明一个字符指针变量时,指针变量的值是可以改变的。指向字符串的指针变量C语言程序设计【例7-12】编程实现删除有序数组中重复元素。运行结果语句编写7.2指针变量的应用程序说明:首先遍历整个数组,统计出重复元素的位置和个数,然后通过移动指针删除重复元素。源代码见教材12344456671234567C语言程序设计【例7-13】统计其中大写字母、小写字母、数字、控制及其他字符的个数。运行结果语句编写7.2指针变量的应用程序说明:输入一个字符串后,可将一个字符型指针p指向该字符串首地址。当p所指字符不能与字符串结

文档评论(0)

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

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

1亿VIP精品文档

相关文档