C:函数名称与函数指针

时间:2014-05-13 22:15:02

标签: c pointers function-pointers void-pointers

我很好奇C如何处理函数名称。具体来说,函数名是一个指向函数体起始地址的指针,就像数组名一样?如果是这种情况,当为函数指针赋值时,为什么人们有时会应用reference&到函数名称:

int foo(int a, int b);
int (*p_func)(int a, int b) = &foo;

我知道我们可以在没有引用的情况下直接将foo分配给p_func。但它的底层是隐式转换来检索函数指针然后分配给p_func。所以似乎函数名和函数指针之间存在差异。那是什么?

谢谢!

0 个答案:

没有答案