A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流转少年 中级黑马   /  2015-3-21 09:57  /  629 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个关键词听老师讲的时候,最简单的理解方法就是给一个类型起一个别名,可是到了指向函数指针变量类型的时候就有点晕晕的了。比如:
  1. #include <stdio.h>

  2. typedef int (*Yunsuan)(int, int);

  3. int sum(int a, int b)
  4. {
  5.     return a + b;
  6. }

  7. int minus(int a, int b)
  8. {
  9.     return a - b;
  10. }

  11. int count(int a, int b, Yunsuan p)
  12. {
  13.     return p(a, b);
  14. }

  15. int main()
  16. {
  17.     int a = sum(minus(10, 5), count(10, 5, sum));//minus(10,5)=5;count(10,5,sum)=15;
  18.     printf("%d\n", a);
  19.     return 0;
  20. }
复制代码

2 个回复

倒序浏览
在看这道题目的时候,看了很久才看明白,能不能有一种更简单的理解方法,帮助理解typedef的定义,以及里面指针变量的传输过程。
回复 使用道具 举报
这个只是为了方便些  函数指针太长了 这样勇个别名多好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马