- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]2011 C语言 第6章 指针
* * * * * 6.4 指针与函数 6.4.1 指针型函数 1. 指针型函数定义形式 指针型函数定义的一般形式: 函数数据类型 *函数名(形式参数表) { …… } 其中函数名前的“*”表示函数的返回值是一个指针类型,“函数数据类型”是指针所指向的目标变量的类型。 如果一个函数的返回值是指针,则称此函数为指针型函数。 * 6.4.1 指针型函数 【例6.17】运用指针型函数来找出两个数中的最大值。 #include stdio.h int *max ( int *i , int *j ) /* 定义指针型函数,其形参为两个指针变量 */ { if ( *i*j ) return ( i ); else return ( j ); } void main( ) { int a,b,*p; printf(Enter two integer numbers:); scanf(%d%d,a,b); p=max ( a,b ); /* 调用指针型函数,返回值为指针 */ printf(max=%d\n,*p); } 运行情况如下: Enter two integer numbers:12 2↙ max=12 * 2. 指针型函数定义时应注意的问题 ① 指针函数中return的返回值必须是与函数类型一致的指针。 ② 返回值必须是外部或静态存储类别的变量指针或数组指针,以保证主调函数能正确使用数据。 6.4.1 指针型函数 6.4 指针和函数 函数指针的定义形式: 数据类型 (* 函数指针变量名)(); 其中“*函数指针变量名”必须用圆括号括起来。在定义中“(*函数指针变量名)”右侧的括号“( )”表示指针变量所指向的目标是一个函数,不能省略;“数据类型”用于定义指针变量所指向的函数的类型。 * 6.4.2 用函数指针调用函数 1. 函数指针的定义和赋值 int (*pf)( ); /* 定义int型函数指针pf */ int fun(int x ); /* 声明int型函数fun( ) */ pf=fun; /* 给函数指针pf赋值,使pf指向指针型函数fun( ) */ 6.4 指针和函数 函数指针的定义形式: 数据类型 (* 函数指针变量名)(); 其中“*函数指针变量名”必须用圆括号括起来。在定义中“(*函数指针变量名)”右侧的括号“( )”表示指针变量所指向的目标是一个函数,不能省略;“数据类型”用于定义指针变量所指向的函数的类型。 * 6.4.2 用函数指针调用函数 1. 函数指针的定义和赋值 int (*pf)( ); /* 定义int型函数指针pf */ int fun(int x ); /* 声明int型函数fun( ) */ pf=fun; /* 给函数指针pf赋值,使pf指向指针型函数fun( ) */ 6.4.2 用函数指针调用函数 说明: 通过改变指针变量的内容,一个指针变量可以先后指向同类型的不同函数,实现对不同函数的调用。 和数据指针一样,程序中不能使用指向不定的函数指针。 在给函数指针赋值时,只须给出函数名而不必给出参数 * 1. 函数指针的定义和赋值 6.4.2 用函数指针调用函数 用函数指针变量调用函数的一般形式为: (* 函数指针变量名)(实参表); 其中“*函数指针变量名”必须用圆括号括起来,表示间接调用指针变量所指向的函数;右侧括号中为传递到被调用函数的实参。 * 2. 函数指针的使用 例如,若有函数int f1(int x,int y) 和int f2(char ch),则: int (*fs)( ); fs=f1; /* fs指向函数f1( ) */ x=(*fs)(a,b); /* 相当于x=f1(a,b); */ fs=f2; /* 改变fs内容,使fs指向函数f2( ) */ y=(*fs)(str); /* 相当于y=f2(str); */ 6.4.2 用函数指针调用函数 运用函数指针变量调用函数时应注意的问题: 函数指针变量中应存有被调函数的首地址; 调用时“*函数指针变量名”必须用圆括号括起来,表示对函数指针做间接存取运算。它的作用等价于用函数名调用函数,此外实参表也应与函数的形参表一一对应。 * 2. 函数指针的使用 6.4.2 用函数指针调用函
您可能关注的文档
- [理化生]第五单元化学方案—河南版.ppt
- [理化生]第二节 资源综合利用 环境保护共2课时.ppt
- [理化生]第五章 第4节 生态系统的信息传递.ppt
- [理化生]第五节 物质的物理属性.ppt
- [理化生]第六章 传感器.ppt
- [理化生]第六章 狭义相对论-2.ppt
- [理化生]第六章 第一节 人体对外界环境的感知B案.ppt
- [理化生]第六章__力和机械.ppt
- [理化生]第十三章 机械振动教学简案田8.doc
- [理化生]第十单元 课题1 第一课时 酸碱指示剂.ppt
- [理学]2012 庆圣诞迎元旦活动方案.doc
- [理学]2011年成人高考高起点数学理试题及答案.doc
- [理学]2011年全国大学生数学建模山西省省级一等奖获奖论文A题城市表层土壤重金属污染分析.doc
- [理学]2012届钻石卡学员考研数学学习计划基础阶段数学三——线性代数.doc
- [理学]2012_9_21有限元讲稿第二章rev1.ppt
- [理学]2012年PLC第1节.ppt
- [理学]2012级规划建筑物理概论课件.ppt
- [理学]2013 习题课第四章化学式.ppt
- [理学]20130316ACM课件lecture_02简单数学题.ppt
- [理学]2013-2014学年高中物理 第1章 第9节 第1课时 带电粒子在电场中的加速和偏转课件 新人教版选修3-1.ppt
最近下载
- 2025年秋新人教版三年级上册数学全册教学课件.pptx
- 初中道德与法治统编版七年级上册第三单元 珍爱我们的生命第八课 生命可贵认识生命 (1).pptx
- 长期卧床患者的皮肤护理与预防压疮课件.pptx VIP
- iso-10816-3-2009机械振动标准.docx VIP
- 健康管理学知到智慧树期末考试答案题库2025年上海健康医学院.docx VIP
- (2025秋)部编版二年级语文上册 《 去外婆家》精品教案.pdf VIP
- HD 60364-4-41-2017 国外国际规范.pdf VIP
- 从维熙《秋山寻野》.docx VIP
- 初中道德与法治新人教版七年级上册第三单元《珍爱我们的生命》教案(2024秋).doc VIP
- 居住建筑节能设计标准.pdf VIP
文档评论(0)