#include <stdio.h>
int sub(int one, int other) {
return one - other;
}
int add(int one, int other) {
return one + other;
}
int main() {
int (*p)(int, int);
int sum;
p = add;
sum = p(3, 5);
printf("%d\n", sum);
p = sub;
sum = p(3, 5);
printf("%d\n", sum);
return 0;
}
在C语言中,只要出现XXX(。。。)其意义就是:对名字为XXX的函数的调用!
换一种方法说:对XXX所表示的首地址的代码,进行调用!
XXX被看成是“代码首地址”,会被C编译器翻译成 CALL XXX 即 XXX所对应的地址值。
p = add;将add函数的首地址,赋值给p指针变量空间。
p(3,5) : 调用“以p的值为首地址”的函数!!