读书人

请问函数名,函数指针,函数指针的指向内

发布时间: 2012-04-01 17:23:46 作者: rapoo

请教函数名,函数指针,函数指针的指向内容
如果我们从指针的层次上理解函数——函数的函数名实际上就是一个指针,函数名指向该函数的代码在内存中的首地址。
这句话没错.
但是我就不理解下面的代码了?
void func(void)
{
...

}
int main()
{
void (*pFunc)(void);
pFunc=func;
cout < <func < <endl;//
cout < <&func < <endl;//
cout < <pFunc < <endl;
cout < <*pFunc < <endl;
}
四个cout输出的值一样???这个到底怎么解释呢???


[解决办法]
你只要记住,函数名是一个特殊的指针,和你印象中的变量的指针是不同的就行了!看这篇帖子:

http://topic.csdn.net/u/20080328/18/712543fd-5e91-4551-aa56-768bc871cce1.html
[解决办法]
我记得c++prime plus 5ed 第6章 ”函数探幽“上说过这个问题,当初制定标准的时候有的说用函数指针调用函数应该用(*fun),有的说应该用fun,最后干脆两种都变成合法的了。作者还感叹了一下!呵呵。

读书人网 >C语言

热点推荐