3.10.3 使用函数指针

一旦定义了一个函数指针,在使用前必须给它赋一个函数的地址。就像一个数组arr[10]的地址是由不带方括号的这个数组的名字(arr)产生的一样,函数func()的地址也是由没有参数列表的函数名(func)产生的。也可以使用更加明显的语法&func()。为了调用这个函数,应当用与声明相同的方法间接引用指针。(记住,C和C++总是力图让引用看上去与使用它们的方法一样。)下面的例子表明如何定义和使用指向函数的指针:

3.10.3 使用函数指针 - 图1

3.10.3 使用函数指针 - 图2

在定义了指向函数的指针fp之后,用fp=func使fp获得函数func()的地址(注意在函数名后缺少了参数列表)。第二种情况显示了同时定义和初始化。