我看到了用指针调用函数的不同语法形式。到底怎么回事?
最初, 一个函数指针必须用 * 操作符 (和一对额外的括弧) 转换为" 一 个
真正的" 函数才能调用: int r, func(), (*fp)() = func; r = (*fp)(); 而函数总是通过指针进行调用的, 所有 ``真正的" 函数名总是隐式的退化为 指针 (在表达式中, 正如在初始化时一样。参见问题 1.14)。这个 推论表明无论 fp 是函数名和函数的指针
r = fp();
ANSI C 标准实际上接受后边的解释, 这意味着 * 操作符不再需要, 尽管依然允许。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。