基本介绍
函数指针:指向函数的指针
与数组类似
定义
Int(*pmax)(int ,int)=max;
Int(*pmax)(int x,int y)=max;//形参名称不重要
函数返回类型(*指针)(形参类型)=函数名称;
具体案例
代码:
*pmax取到函数本身
调用函数指针方式:
(*pmax)(x,y);
pmax(x,y);//与java中调用函数一致
内存布局
练习–大小写字母转换
#include<stdio.h>
//函数指针--char//函数原型
char change(char c);
int main()
{//函数指针pchar(*p)(char)=change;char c;scanf("%c",&c);char result=(*p)(c);printf("result=%c address=%p self-address=%p\n",result,p,&p);getchar();//entergetchar();return 0;
}
//大小写字母转换
char change(char c)
{if(c>='A'&&c<='Z')c+=32;else if(c>='a'&&c<='z')c-=32;return c;
}