我看到了用指针调用函数的不同语法形式

2023-07-06   


一个函数指针必须用* 操作符(和一对额外的括弧) “转换为” 一个“真正的” 函数才能调用:
   int r, func(), (*fp)() = func;
   r = (*fp)();
   而函数总是通过指针进行调用的, 所有“真正的” 函数名总是隐式的退化为指针(在表达式中, 正如在初始化时一样。参见问题1.14)。这个推论表明无论fp 是函数名和函数的指针r = fp();
   ANSI C 标准实际上接受后边的解释, 这意味着* 操作符不再需要, 尽管依然允许。


相关内容:

  1. C有"按引用传递"吗
  2. 如何理解委托
  3. 怎样在程序里获得一个空指针
  4. 空指针到底是什么
  5. 我能否用void** 指针作为参数, 使函数按引用接受一般指针
  6. 介绍一下RMI的基本概念