2011 C语言 第6章 指针.ppt

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

文档评论(0)

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

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

1亿VIP精品文档

相关文档