关于函数指针的定义和初始化有两点需要注意:
1.括号不可少
在定义时*p必须用括号括起来,如果去掉括号代码变为:
int *p(int ,int)//p是函数,而非函数指针,返回值类型为int *
正确地写法为int (*p)(int,int)
2.类型要匹配
在对函数指针初始化或赋值的过程中,一定要保证函数的参数个数和类型与函数指针的定义相匹配。
int (*p)(int)=max;//函数指针与函数不匹配。
int max(int a,int b){
return a>b?a:b;}