函数指针就是指向函数的指针,它是一个变量,所以它可以作为另外一个函数的参数,也可以作为数组元素。函数指针本质上是地址,调用地址就可以调用该函数
int(*p)(int,int);
上面就是一个有两个整型参数,返回值是整型的函数指针,她可以被所以具有上面特点的函数赋值,单独赋值是用函数指针调用函数。
那么他作为数组的话就可以进行多个函数调用
int(*p[3])(int,int);
那么数组信息就来了,p[0],p[1],p[2]都具有这种类型特点,可以用循环调用不同的相同类型的函数。
函数指针还可以作为参数使用,因为它就是一个变量,函数的参数就是变量。
例如:int function(int(*p)(int,int),int,int);
那么第一个参数就是一个类型的函数指针,当然有函数体,函数体中的数据就是参数类型。
注意两个点,一个是指针函数返回值:p(2,3),这是用指针调用计算函数返回值
另一个,function(p,2,3),这是函数指针做参数,至于function返回什么,那是function函数体的内容,但里面一定有函数指针的调用