前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8.5 指向函数的指针

8.5 指向函数的指针

作者头像
小林C语言
发布2019-07-12 12:07:26
9330
发布2019-07-12 12:07:26
举报
文章被收录于专栏:C语言入门到精通

01

什么是函数指针

1、如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配了一段存储空间,这段存储空间的起始地址(又称入口地址)称为这个函数的指针。

2、可以定义一个指向函数的指针变量,用来存放某一函数的起始地址,这就意味着此指针变量指向该函数。

3、例子

int (*p)(int,int);

定义p是一个指向函数的指针变量,它可以指向函数的类型为整型且有两个整型参数的函数。p的类型用int(*)(int,int)表示。

02

用函数指针变量调用函数

如果想调用一个函数,除了可以通过函数名调用以外,还可以通过指向函数的指针变量来调用该函数。

03

怎么定义和使用指向函数的指针变量

1、一般形式

类型名(*指针变量名)(函数参数表列);如“int(*p)(int,int);”,这里的“类型名”是指函数返回值的类型。

2、定义指向函数的指针变量,并不意味着这个指针变量可以指向任何函数,它只能指向在定义时指定的类型的函数。

3、如果要用指针调用函数,必须先使指针变量指向该函数。

4、在给函数指针变量赋值时,只须给出函数名而不必给出参数。

5、用函数指针变量调用函数时,只须将(*p)代替函数名即可(p为指针变量名),在(*p)之后的括号中根据需要写上实参。

6、对指向函数的指针变量不能进行算术运算,如p+n,p++,p--等运算是无意义的。

7、用函数名调用函数,只能调用所指定的一个函数,而通过指针变量调用函数比较灵活,可以根据不同情况先后调用不同的函数。

04

用指向函数的指针作函数参数

1、指向函数的指针变量的一个重要用途是把函数的地址作为参数传递到其他函数。

2、指向函数的指针可以作为函数参数,把函数的入口地址传递给形参,这样能够在被调用的函数中使用实参函数。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

文字/闫小林

图片/源于网络

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档