我有这两个测试功能:
int apply_a(int (*fun)(int, int), int m, int n) {
return (*fun)(m,n);
}
int apply_b(int (*fun)(int, int), int m, int n) {
return fun(m,n);
}
它们似乎返回了不同的东西,那么为什么它们都产生相同的结果呢?
int add(int a, int b) {return a + b;}
int res_a = apply_a(add, 2, 3); // returns 5
int res_b = apply_b(add, 2, 3); // returns 5
我会假设其中一个会返回指针地址或指针本身;而不是存储在指针上的值...
那么它为什么要这样做呢?