typedef 和指向函式的指標

2021-05-22 11:33:12 字數 2081 閱讀 1587

在typedef的使用中,最麻煩的是指向函式的指標,如果沒有下面的函式,你知道下面這個表示式的定義以及如何使用它嗎?

int(*s_calc_func(charop))(int,int);

如果不知道,請看下面的程式,裡面有比較詳細的說明

// 定義四個函式

intadd(int,int);

intsub(int,int);

intmul(int,int);

intdiv(int,int); //

定義指向這類函式的指標

typedefint(*fp_calc)(int,int); //

int

(*s_calc_func(charop))(int,int);

// // 定義乙個函式

calc_func

,它根據操作字元

op 返回指向相應的計算函式的指標

fp_calccalc_func(charop); //

根據 op

返回相應的計算結果值

intcalc(inta,intb,charop);

intadd(inta,intb)

intsub(inta,intb)

intmul(inta,intb)

intdiv(inta,intb)

// 這個函式的用途與下乙個函式作業和呼叫方式的完全相同, //

引數為op,而不是最後的兩個整形

int(*s_calc_func(charop)) (int,int)

fp_calccalc_func(charop)

returnnull;

} intcalc(inta,intb,charop)

voidtest_fun()

執行結果

calc(100, 20, +) = 120

calc(100, 20, -) = 80

calc(100, 20, *) = 2000

calc(100, 20, /) = 5

typedef 指向函式的指標

對複雜變數建立乙個型別別名的方法很簡單,你只要在傳統的變數宣告表示式裡用型別名替代變數名,然後把關鍵字typedef加在該語句的開頭就行了。定義四個函式 intadd int,int intsub int,int intmul int,int intdiv int,int 定義指向這類函式的指標 t...

C 虛函式表 typedef指向函式的指標

一 typedef函式指標 2.虛函式表 注意 父類與子類的虛函式表是不同的,不是同乙個表。1 虛函式就是通過一張虛函式表實現的。簡稱為v table。在這個表中,主要是乙個類的虛函式的位址表,這張表解決了繼承覆蓋的問題。c 標準並沒有規定虛函式的實現方法,使用虛函式表的方法是編譯器廠商制定的。2 ...

函式指標和typedef的應用

首先寫個函式指標的例子 int pfun int,int 通過括號強行將pfun首先與 結合,也就意味著,pfun是乙個指標,接著與後面的 結合,說明該指標指向的是乙個函式,然後再與前面的int結合,也就是說,該函式的返回值是int。由此可見,pfun是乙個指向返回值為int的函式的指標。雖然它們只...