函数指针:顾名思义就是指向函数的指针,其中储存的是一个函数在内存中的入口地址
函数的入口地址:函数第一条指令的地址,编译器将不带()的函数名解释为这个函数的入口地址
具体分析selectionsort(int(*compare)(int a,int b))与selectionsort(int*compare(int a,int b))
A.首先int(*compare)(int a,int b)
compare——> * ——> ()——> int
圆括号具有最高优先级,从左向右结合,编译器由此得知形参compare是一个指针变量(函数指针),该指针可以指向一个函数(有两个整型形参,返回值为整型)。尤其需要注意的是,*compare两侧的括号是绝对不可以省掉的!!!他表示compare是一个函数指针,之后结合的第二个括号代表这个指针变量可以指向一个函数
B.其次是int*compare(int a,int b)
compare——>()——> * ——>int
此时声明的不是指针,而是函数,这个函数有两个整型形参,返回值为整形指针



