函数指针
函数指针就是把函数在内存中的首地址赋予一个指针变量,用这个指针就可以实习函数的调用。
函数指针变量定义的一般形式为:
类型说明符 (*指针变量名)();
char name()
{
print("演示函数指针调用");
}
main()
{
char name(); //函数声明
char (*p)(); //定义函数指针
p=name; //给函数指针赋值
(*p)(); //调用指向name()的函数
}
这里是一个无参函数,有参函数把参数列表加进去。
注意调用时是(*指针变量名)。
指针型函数
指针型函数有时也说指针函数,少了一个“型'字,很容易搞迷糊,每次说到这两个有什么区别,要重复几句。加上“型”字以后,一说就明白了。
指针型函数顾名思义就是函数返回值是一个指针类型。
类型说明符 *函数名(形参表)
{
/*函数体*/
}
/*函数体*/
}
int *max(int *a,int *b)
{
int *p;
p=*a>*b?a:b;
return (p);
}
main()
{
int a,b,c,*pmax;
printf("输入a,b,c"); //输入三个数字找出最大值
scanf("%d,%d,%d",&a,&b,&c);
pmax=max(&a,&b); //max函数传过来的指针赋值给指针pmax
pmax=max(pmax,&c);
printf("最大数是max",*pmax);
}