int r, func(), (*fp)() = func; r = (*fp)();
而函数总是通过指针进行调用的, 所有 ``真正的" 函数名总是隐式的退化为 指针 (在表达式中, 正如在初始化时一样。参见问题 1.14)。这个 推论表明无论 fp 是函数名和函数的指针
r = fp();
ANSI C 标准实际上接受后边的解释, 这意味着 * 操作符不再需要, 尽管依然允许。
参见问题 1.14。
参考资料: [K&R1, Sec. 5.12 p. 116]; [K&R2, Sec. 5.11 p. 120]; [ISO, Sec. 6.3.2.2]; [Rationale, Sec. 3.3.2.2]; [H&S, Sec. 5.8 p. 147, Sec. 7.4.3 p. 190]。
翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)