基本介紹
函數指針:指向函數的指針
與數組類似
定義
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;
}