C笔记系列三:函数指针

在程序链接过程中,所有函数都被安排空间,形成一个可以执行的内存映像,每个函数编程一个指令块,有一个相对固定的存储位置,这个位置信息被保存在函数名中(即函数名保存着函数的起始位置)。所谓的函数调用,就是转到这片指令所在看起始位置开始执行。函数指针,即保存函数的起始位置,通过指针调用函数。
函数指针的声明:返回数据类型 (*指针名)(行参列表);
函数指针的调用:(*指针名)(实参列表);

double test(double (*fn1)(double), double (*fn2)(double), double v) {
    return (*fn1)(v) / (*fn2)(v);
}
void main() {
    test(sin, cos, 20.0/180 * 3.14);
}

你可能感兴趣的:(C笔记系列三:函数指针)