是什么这两个声明的区别:C函数指针混乱
int operate(int (*func)(int, int), int a, int b){
return (*func)(a, b);
}
和
int operate(int func(int, int), int a, int b){
return func(a, b);
}
这两个似乎也是相同的:operate(sum, 1, 1)
和operate(&sum, 1, 1)
如果我通过功能sum
如在func
的地方2号的功能,其结果仍然是相同的。为什么?
约衰减第二段是外的地方,我想。无腐烂发生的事情,除非你计数'(* FUNC)'作为函数和'func'为指针它衰变到...? – 2012-02-16 16:59:48
@R:哦,我明白了。我指的是“操作(sum,1,1)”与“操作(&sum,1,1)”。 – 2012-02-16 17:01:14
哦,我明白了.. – 2012-02-16 17:02:59