int (*p)(int,int) = NULL;
p与*结合,说明p是一个指针;*p与()结合说明指针p指向的是一个函数;(int,int)说明函数中传递的参数是int类型;最开始的int表示指针函数的返回值是int类型;=NULL,表示初始化指针为NULL,避免野指针;
代码
#include <stdio.h>
int max(int a, int b) {
int c;
if (a>b)
{
c = a;
}
else if(a<b)
{
c = b;
}
else
{
c = a;
printf("a的值与b相等\n");
}
return c;
}
int main() {
int (*p)(int,int) = NULL;
p = &max;
int d = p(3, 3);
printf("%d", d);
}
结果:
a的值与b相等
3