指向成员函数的指针有什么用_「C语言」指针函数和函数指针

指针函数

指针函数,顾名思义,是一个函数,只不过这个函数的返回值为一个指针即返回的值为一个地址。

申明格式为:*类型标识符 函数名(参数表)。如:

int* fun(int x,int y);

我习惯把int和*写在一起,其实这样也更便于理解,fun为我们定义的一个函数,可传入两个int型的参数,这个函数的返回值为一个int型的指针。

来看一个demo:(求两个数的和)

c6c22b08485fddc41bcf9923aaa6d6f9.png

sum这个函数的返回值为U8类型的指针即为一个U8类型的地址,c这个内存空间中存放的是输入的两个数的和,p为一个指针,存放的为存放两个数的和的存储空间的地址,将p返回即返回的为一个指针,在主函数中,重新定义的p为一个指针,该指针指向sum函数,*P为该地址中存放的值。

函数指针

函数指针,顾名思义,这是一个指针,只不过这个指针是一个指向一个函数入口的指针。

声明格式:类型说明符 (*函数名) (参数)。如:

int (*fun)(int x,int y);

这是一个int型的指针,该指针指向的地址为一个函数的首地址即函数入口地址,该函数有两个形参。这个*是修饰这个函数的,故和fun写在一起,用括号括起来。

来看一个demo:(求两个数的和)

9047ffdec988c8eff7af80086cab02f3.png

定义一个普通的求和函数add,在主函数里面定义一个函数指针,将该函数指针指向add函数,在传入实参,进行的也是求和运算了。其实函数指针也就是c++里面多态的理论基础了。

简单总结一下函数指针和指针函数:

函数指针:是一个指针,该指针指向函数的入口地址

指针函数:是一个函数,该函数的返回值为指针类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值