请教函数名与&函数名的区别时什么呢
请问函数名与&函数名的区别时什么呢?
比如,
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);都是一样的。
比如,
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);都是一样的。