三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 478|回复: 0
打印 上一主题 下一主题

指针指向函数

[复制链接]

1657

主题

1684

帖子

5684

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5684
跳转到指定楼层
楼主
发表于 2017-7-13 10:01:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下:
  1. int sum(int x,int y)
  2. {
  3.   return x+y;
  4. }
  5. int main()
  6. {
  7.   int a=5;
  8.   int b=6;
  9.   int (*p)(int,int);
  10.   p=sum;
  11.   int result=(*p)(a,b);
  12.   printf("The result is %d\n",result);
  13.   return 0;
  14. }
复制代码
不难发现上面代码块里语句(*p)(a,b)可以用p(a,b)来代替,因为p和sum就是一样的,只是用前者可能更容易理解一点。而我们要知道怎样定义一个指针指向函数,int (*p)(int,int)这是固定写法,前面的int是指针将来指向的函数的返回值的类型,如果没有函数返回值,那就是void,后面括号里的两个int 当然就是指针将指向的函数的形参。
回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-11-21 01:22 , Processed in 0.047031 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表