关于指针小问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 09:47:26
void bubble(int *work, const int size, int(*compare)(int, int))

void bubble(int *work, const int size, int*compare(int, int))
区别????
能稍微举个小例子下吗?

第三个参数不同,前者是个函数指针,指向一个函数,该函数返回类型是int,接收两个int型参数.后者是个函数,返回类型为int *,也是接收两个int型参数

int(*compare)(int, int) compare表示的是函数指针,也就是该指针存储的是这个函数在内存中的地址,这个函数的返回值为int型。
int*compare(int, int) compare表示的是这个函数名,这个函数的返回值是int*型。
定义了函数指针以后,就可以声明一个函数指针指。如compare pa; 则pa可以以参数的形式带入其它函数中,当条件满足时,执行该函数,从而引发回调函数机制。