什么是用于函数的指针?

时间:2013-06-19 20:20:22

标签: c function pointers

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

由于

3 个答案:

答案 0 :(得分:4)

两个主要原因:

1)您可以选择在某些情况下使用哪种功能。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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