函数指针是指向函数的指针。
函数在编译过程中会放在存储空间中,这个存储空间的首地址就是函数地址,指向这个地址的指针就是函数指针。
函数指针的定义#includeint add(int x, int y) { return x + y; } int main() { int (*p)(int, int); p = add; printf("p = %d", p(3, 4)); }
在这个例子里面定义了一个函数add,add的返回值为int,接收两个int型的参数,我们定义了一个函数指针p指向add。
函数指针的定义格式是:函数返回值类型 (* 指针变量名) (函数参数列表);
//函数定义 int add(int x,int y); //函数指针的定义 int (*p)(int,int);
函数参数列表只需要写入参的数据类型即可,*p两边的括号不能没有括号。
因为括号会改变运算的优先级,没有括号会变成函数声明:返回整数指针的函数p。
函数指针是一个不太常用的知识点,这里简单整理记录一下。



