为了账号安全,请及时绑定邮箱和手机立即绑定

函数指针如何使用

函数指针如何使用

C#
叮当猫咪 2018-08-07 10:09:41
#include <stdio.h>char (*pFun) (int);char glFun(int a) {    return a; }int main(void) {     pFun = glFun;    // 1、printf("%c\n", pFun('a'));    // 2、printf("%c\n", (*pFun)('a'));}1、代码注释中的两种写法的区别在哪? 2、为什么运行结果是一样的? 3、如果没有区别,那种写法好一些(如果有区别请忽略)? 先谢过各位大神了!!!
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

1. 前者是隐式的,后者是显式,在C中都可以调用指向的函数;这个跟pFun = &glFun类似。

2. 因为调用了指向的函数地址,当然返回的结果是一样的。

3. 后者写法规范一些,让人和编译器立刻能知道这是一个函数指针变量在调用对应的函数功能。在C++中,基本类的非成员函数指针都需要后面这种写法。


查看完整回答
反对 回复 2018-09-08
  • 1 回答
  • 0 关注
  • 1087 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信