【问题标题】:What is a pointer to a function used for? [duplicate]指向函数的指针是做什么用的? [复制]
【发布时间】:2013-06-19 20:20:21
【问题描述】:

有哪些使用函数指针的实际例子和应用?我不明白为什么有人需要使用它。

谢谢

【问题讨论】:

标签: c function pointers


【解决方案1】:

两个主要原因:

1) 您可以选择在特定情况下使用哪个函数。

2) 你可以为另一个函数提供一个回调函数(例如,C 标准库函数qsort 将函数指针作为参数:你自己编写这个函数来告诉qsort如何比较两个值)。

【讨论】:

    【解决方案2】:

    如果你有一个对象包含另一个对象,(让我们将它们标记为 A 和 B),你可以将指向 A 中的函数的指针传递给 B 对象,并从 B 中的 A 调用函数。这是已知的作为回调,并且相当频繁地使用。

    【讨论】:

      【解决方案3】:

      主要原因是您可以将函数作为参数传递给其他函数。例如,假设您想要实现一个对存储在数组中的数据进行操作的 forEach() 函数。然后,您希望 forEach() 函数将数组以及您希望应用于每个元素的函数作为参数。

      这是我能想到的最简单的例子,但您可以想象将函数传递给其他函数的其他情况。

      另见:https://en.wikipedia.org/wiki/Functional_programming

      【讨论】:

        猜你喜欢
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多