昨天的代码被更新了,在我传递回调函数的时候,在函数名的前面加入了一个取地址符. 我记得好像不需要这样做的,于是特意做了个实验,代码如下: #include "stdio.h" int (*FuncPtr)(int i); int foo(int i) { printf("%d\n", i); return i; } int main() { printf("第1次:\n"); FuncPtr = foo; (*FuncPtr)(1); printf("第2次:\n"); FuncPtr = &foo; FuncPtr(1); printf("第3次:\n"); FuncPtr = &foo; (*FuncPtr)(1); } 结果3次全部调用成功.
转载于:https://www.cnblogs.com/putong/archive/2012/07/12/2587944.html