用指針調(diào)用函數(shù)的不同形式
?
Ma Jia nan
2006-1-16
?
??? 最初一個函數(shù)指針必須用*操作符(和一對括號)“轉(zhuǎn)換為”一個“真正的”函數(shù)才能調(diào)用,如下所示:
?
????int r, func(), (*pf)() = func;?//函數(shù)指針的初始化
??? r = (*pf)();??//函數(shù)的指針調(diào)用形式1,等價于 r = func();
?
??? 函數(shù)總是通過指針進行調(diào)用的,所有“真正的”函數(shù)名總是隱式的退化為指向該函數(shù)的指針, 正如在對函數(shù)指針pf初始化做的那樣:
?
??? int func();
??? int (*pf)() = func;
?
??? 這有點類似數(shù)組名的行為(不帶下標操作符的數(shù)組名會被解釋成指向數(shù)組首元素的指針)。
??? 以上結論表明,下面的語句也是正確的。
?