1.13 我知道除函数指针的声明方法,但怎样初始化呢?
用下面这样的代码
extern int func();
int (*fp)() = func;
当一个函数名出现在这样的表达式中时, 它就会“蜕变” 成一个指针(即, 隐式地取出了它的地址), 这有点类似数组名的行为。
通常函数的显示声明需要事先知道(也许在一个头文件中)。因为此处并没有隐式的外部函数声明(初始式中函数名并非一个函数调用的一部分)。
参见问题1.8 和4.8。
extern int func();
int (*fp)() = func;
当一个函数名出现在这样的表达式中时, 它就会“蜕变” 成一个指针(即, 隐式地取出了它的地址), 这有点类似数组名的行为。
通常函数的显示声明需要事先知道(也许在一个头文件中)。因为此处并没有隐式的外部函数声明(初始式中函数名并非一个函数调用的一部分)。
参见问题1.8 和4.8。