C语言的小一段程序,解释

来源:百度知道 编辑:UC知道 时间:2024/09/23 01:30:19
在数据结构中有一段程序是这样的:
int LocateElem_sq(SqList L,char e,int(*compare)(char,char))
{}
其中int(*compare)(char,char)怎么解释?是预定义的?是C语言中的那一部分内容?(我知道它的作用是比较两个数)

或者告诉我是C语言中的那一部分内容我可以自己看,有段时间没有用C 了,都忘了基本的了(不过上面的代码是数据结构中 的,可能是伪代码)
谢谢

是个函数指针。
会用qsort了,就会这个了。
等价于:
typedef int (*CompareFun)(char, char);
CompareFun compare
表示一个指针指向一个函数,这个函数有两个参数,都是char类型,返回一个int。

int(*compare)(char,char)一个名叫compare的函数指针。
typedef int (*CompareFun)(char, char);
int LocateElem_sq(SqList L,char e,CompareFun compare)
{}
和楼主的声明是一样的,函数指针其实也是一种类型。
typedef int (*CompareFun)(char, char);自定义了一种类型CompareFun,自定义的这个类型是一个接受2个char型参数,返回int型的函数指针

是一个简单算法吧?返回一个指针类型数据,进行整型转换,作为本方法的参数。