C++ 函数地址

一、定义函数指针

void (*funcPtr)();

定义了一个指针指向一个无参无返回值的函数。
如何理解复杂的定义
从中间开始向外扩展。中间即funcPtr。向外扩展,先注意右边最近的项(这里没有,右括号结束了),再注意左边的项(星号指针),右边的空参数表表示这个函数没有带任何参数,再注意左边(void表示函数没有返回值),大多数声明都是以右左右动作的方式工作的。

二、复杂声明和定义

void * (*(*fp1)(int))[10];
float (*(*fp2)(int,int,float))(int);
typedef double (*(*(*fp3)())[10])();
fp3 a;
int (*(*f4())[10])();
int main(){}

如何理解-右左右
fp1是一个指向函数的指针,该函数接受一个整型参数并返回一个指向含有10个void指针数组的指针。
fp2是一个指向函数的指针,该函数接受三个参数(int,int ,float),且返回一个指向函数的指针,该函数接受一个整型变量并返回float。
fp3是一个指向函数的指针,该函数无参数,且返回一个指向含有10个指向函数指针数组的指针,这些函数不接受参数且返回double。然后又说明,a是fp3类型中的一个。
f4是一个返回指针的函数,该指针指向含有10个函数指针的数组,这些函数返回整型值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值