首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教函数名与&函数名的区别时什么呢

2012-04-16 
请问函数名与&函数名的区别时什么呢?比如,int fun(){.....}printf(%d\n,fun)//输出1printf(%d\n,&fun

请问函数名与&函数名的区别时什么呢?
比如,
int fun()
{.....}
printf("%d\n",fun);//输出1
printf("%d\n",&fun);//输出4
请解释一下输出结果吧,谢谢


[解决办法]
printf("%p\n",fun);//输出指针的值应该用%p
printf("%p\n",&fun);//同上.

fun可以转换成 &fun
很多情况下等效.



[解决办法]
二者等效的;
int add (int i,int b) {
return a + b;
}
int (*p)(int,int);
p = add;
p = &add;
然后调用:p(1,4);
(*p)(1,4);都是一样的。

热点排行