很可能你是通过数据结构遇到这个问题的。
例如:(图)
这个函数的参数列表中第三个参数让人觉得熟悉又陌生。返回值、指针、数据类型名,单拿出来认识,这样放在一起其实就是指向函数的指针,并且这个指针是名为LocateElem_Sq函数的参数。在这个例子里面的含义是,LocateElem_Sq 是一个要把线性顺序表 L 中每一个元素和 e 进行比较从而试图得到e在L中的位序的函数,比较的方法就是调用compare指针指向的函数,把L.elem和e再当作其参数传进compare指向的函数。所以可以想到,中的int是所指函数的返回值,compare是函数指针的名称,(ElemType,ElemType)是只表示了参数类型的参数列表,这就是函数指针的形式。调用LocateElem_Sq时需要传入一个符合这些条件的函数。
更多:
1.深入浅出——理解c/c++函数指针 https://zhuanlan.zhihu.com/p/37306637
2.指针函数与函数指针的区别 https://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html
3.函数指针百度百科 https://baike.baidu.com/item/%E5%87%BD%E6%95%B0%E6%8C%87%E9%92%88/2674905?fr=aladdin
4.函数指针及其定义和用法,C语言函数指针详解 http://c.biancheng.net/view/228.html