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

© slq0378 中级黑马   /  2015-4-12 16:52  /  612 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


这个指针函数和函数指针越看越晕啊,现在这个函数指针无法理解

  1. #include <stdio.h>



  2. //返回指针的函数
  3. /*
  4. 1、返回指针的函数
  5. 类型名 *函数名(参数列表);
  6. 2、函数指针,指向函数地址的指针
  7. 返回值类型 (*指针变量名)(参数列表);
  8. */

  9. int *pFunc(int ,int );//指针函数
  10. int (*pf)(int ,int );//函数指针
  11. int Function(int ,int);//普通函数

  12. int main()
  13. {
  14.     int a = 10;
  15.     int b = 5;
  16.     int *addr = pFunc(a,b);//获取函数的返回值,是一个地址值
  17.     printf("%d\n",*addr);
  18.    
  19.     pf = &Function;//将函数指针指向具体的函数
  20.    
  21.     printf("%d\n",pf(a,b));
  22.     pf = &Function;
  23.    
  24.     //printf("%d\n",(*pf)(a,b));//为什么我这样调用错误啊,不是说这样调用也可以吗
  25.     //printf("%d\n",Function(a,b));

  26.     return 0;
  27. }

  28. //指针函数定义
  29. int* pFunc(int a,int b)
  30. {

  31.     int *p ;
  32.     *p = a+b;//赋值
  33.     return p;
  34. }

  35. int Function(int a,int b)//普通函数
  36. {
  37.     return a+b;
  38. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马