2.14 我总算弄清除函数指针的声明方法了, 但怎样才能初始化呢?

用下面这样的代码
	extern int func();
	int (*fp)() = func;

当一个函数名出现在这样的表达式中时, 它就会 ``蜕变'' 成一个指针 (即, 隐式地取出了它的地址), 这有点类似数组名的行为。

通常函数的显示声明需要事先知道 (也许在一个头文件中)。因为此处并 没有隐式的外部函数声明 (初始式中函数名并非一个函数调用的一部分)。

参见问题 1.8 和 4.8

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)