1、int *p(int x)
int *p(int x):指针函数,是个函数参数为一个int变量,它的返回值是一个int的指针
若定义了一个这样的函数: int *p(int x);
则这样赋值: int *ptr = p(4);
2、int (*p)(int x)
int (*p)(int x):函数指针,p指向一个函数的起始地址,它相当于一个函数的别名,它的返回值是int型(不是指针)
若定义了一个这样的函数: int fun(int x);
则这样赋值: int (*p)(int x) = fun;
再这样调用: p(x);
#include <stdio.h>
#include <stdlib.h>
int fun(int *x)
{
return *x+*x;
}
int main()
{
int i = 2,j;
int (*p)(int *x) = fun;
j = p(&i);
printf("%d\n",j);
return 0;
}