[工学]C语言A第十讲.ppt

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

第十讲 指针的应用 上讲内容回顾 指针的基本概念 指针变量的定义和引用 指针和数组 指针运算 本讲主要内容 指针与字符串 指针数组 指针作为函数参数 数组名作为函数参数 指针型函数 指向函数的指针 指向指针的指针 字符串常量 字符串常量就是用双引号括起来的字符序列 如:Kun ming. ,其存储形式为 指向字符数组的指针 输入一个字符串,将其中的所有小写字母改成大写字母后再输出。 指向字符数组的指针 利用字符指针将字符串s2拼接到s1末尾,并输出合并后的字符串。 指向字符串常量的指针 指向字符串常量的指针 与数组不同,在程序中可以直接把字符串常量赋给一个指针变量。例: char *name; name=c program; 将字符串的指针存入name 可通过字符串指针来存取字符串 printf(%s,name); printf(%s,name+2); 处理字符串 可以用两种方法来处理字符串: 数组 字符指针 字符指针初始化 对字符指针初始化时,不必说明为静态存储类型;对函数内的数组初始化一般应说明为静态存储类型。 字符指针应用 定义一个指针变量指向一个字符串,并分别用%s和%c格式说明符将其显示出来。 字符数组、指针 定义时编译系统会为数组分配空间且其首地址用数组名表示,指针变量则仅分配一个能存放字符型地址的单元,具体指向哪个单元未定; 初始化时函数内定义的数组要用static,而指针不用; 赋值时不能一次为整个数组赋值而要分别为每个元素赋值,指针则直接将字符串地址赋给它 数组名代表数组首地址,被编译时给定成为“常量”,指针变量的值可以改变。 判断正误 static char s[]=Happy; char *p=Happy; char s[]=Happy; char s[15]; s=happy; char *p; p=Happy; char s[100]; scanf(%s,s); char *p; scanf(%s,p); char *p, s[100]; p=s+10; char *p, s[20], t[10]; p=s; t=p+10; 指针数组 概念和定义:数组中的每个元素都是指针类型 类型说明符 *数组名[元素个数]; 例: static int *p[2]; 由p[0],p[1]两个指针组成 指针数组的初始化: 例: static char *s[]={C,Fox,Basic}; 指针数组应用 利用指针数组来显示菜单信息: Input Copy Move Delete Exit 指针数组应用 按字典顺序对多个字符串排序。 指针作为函数参数 以指针作函数参数,可以将变量的地址传递给函数,用来返回函数处理结果。 指针参数 指针作为函数参数的传递方式仍然采用“值传递”方式:实参中存放的指针值(地址)传递给形参单元,形参与实参分别占用不同的单元。 因指针值是某对象的“地址”,使得形参与实参都指向同一对象,若改变了形参所指单元的内容,则其实参所指内容也同时被改变。(可用此法返回函数的结果) 指针参数应用 编一程序,用以说明形参指针值的改变并不影响与其对应的实参的指针值。 指针参数应用 编一程序,用以测试一下形参指针所指向的单元(变量)中的内容的改变,对与其对应的实参指针所指向的单元中的内容的影响。 指针参数应用 输入a、b、c三个整数,并按由小到大的顺序显示出来。 数组名作函数参数 当数组名作函数实参时,传递给函数形参的是该数组的起始地址。如此,函数的形参既可以定义为数组,也可以定义为指针。可以在函数体内通过指针存取数组中的元素。 指针型函数 当函数的返回值是地址时,该函数就是指针形函数 定义形式:存储类型 数据类型 *函数名() 举例:分析下列程序运行的结果。 函数与指针型函数 注意:函数与指针型函数的区别。 指针型函数应用 编程实现如下功能:在读入的一个字符串中查找一个给定的字符,如果找到,则从该字符起打印余下的子字符串,以及该字符是字符串中的第几个字符;否则,输出“no match found。 指向函数的指针 程序中的每个函数经编译后,其目标代码在内存中连续存放,该代码的首地址就是函数的入口地址。函数名本身代表函数的入口地址。 可以用指针变量指向整型变量、字符串等,也可以指向一个函数。 定义形式: 数据类型 (*函数指针名)(); 含义: 数据指针指向数据存储区,而函数指针指向的是程序代码存储区。由此可以

文档评论(0)

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

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

1亿VIP精品文档

相关文档