學好函式指標有著較為重要的意義,如windows程式設計中wndclass結構體的 lpfnwndproc 成員就是乙個函式指標,下面介紹簡單的函式指標應用。
void toupper(char *);
void tolower(char *);
int round(double);
/**
*宣告了乙個名為pf的函式指標, 該函式指標可以指向乙個函式
*該函式特點:返回值為void型別,該函式接受乙個引數,引數型別為 char *型
**/
void (*pf)(char *);
/**
*宣告了乙個名為pk的函式指標, 該函式指標可以指向乙個函式
*該函式特點:返回值為void型別,該函式接受乙個引數,引數型別為 int *型
**/
void (*pk)(int *);
pf = toupper;//正確用法,toupper是函式toupper()的位址
pf = tolower;//正確
pf = round;//錯誤, round為錯誤型別的函式
pf = tolower();//無效,tolower不是位址
嘗試將不同返回值型別的函式賦值給函式指標:
錯誤資訊:
下面演示下正確的用法
#include void print_v(int);
int print_i(int);
int main()
void print_v(int value)
int print_i(int value)
程式截圖如下:
c C 指標函式
我們知道,指標式記憶體首位址,那是針對變數來說的,我也知道,程式是由變數,函式組成的。那麼函式的指標是怎麼定義的呢?我們也知道函式也是存放在記憶體的 區域,它同樣有首位址,關鍵是我們怎樣才能獲取它的位址呢?如果我們定義乙個 int test int a 的函式,那麼它的位址就是函式名字test,這一...
C C 函式指標
1.要指向的函式的宣告 返回型別 函式名 參數列 2.對應的函式指標的宣告,返回型別和參數列與要指向的函式宣告相同 返回型別 函式指標變數名 參數列 舉例 int func int a,int b 要指向的函式的宣告 int func ptr int a,int b 對應的函式指標的宣告 inclu...
C C 函式指標
宣告函式指標,必須指定指標指向的函式型別,例如 double pam int 正確的指標型別為 double pf int 與pam 宣告類似,將pam替換為 pf 這裡可以pf pam等式成立。include double betsy int double pam int void estimat...