函数名是指向函数的指针 1……

1 两者并不完全相同,函数名是L-value,而指针变量是R-value,因此函数名不能像指针变量那样自加或自减。——译者注

可能你已经猜到了,这一定和指针有关。想想函数名到底是什么,它可以引用某段代码。这就是指针:引用存储器中某样东西的方法。

在C语言中,函数名也是指针变量。当你创建了一个叫go_to_warp_speed(int speed)函数的同时也会创建了一个叫go_to_warp_speed的指针变量,变量中保存了函数的地址。只要把函数指针类型的参数传给find(),就能调用它指向的函数了。

函数名是指向函数的指针 1…… - 图1

下面来看看函数指针的语法。