用指针调用函数的不同形式
Ma Jia nan
2006-1-16
最初一个函数指针必须用*操作符(和一对括号)“转换为”一个“真正的”函数才能调用,如下所示:
int r, func(), (*pf)() = func; //函数指针的初始化
r = (*pf)(); //函数的指针调用形式1,等价于 r = func();
函数总是通过指针进行调用的,所有“真正的”函数名总是隐式的退化为指向该函数的指针, 正如在对函数指针pf初始化做的那样:
int func();
int (*pf)() = func;
这有点类似数组名的行为(不带下标操作符的数组名会被解释成指向数组首元素的指针)。
以上结论表明,下面的语句也是正确的。