标签: 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。所以似乎函数名和函数指针之间存在差异。那是什么?
谢谢!