函数指针:为什么ptr与&ptr的地址一样?

ZQGet 2004-11-04 04:43:40
void print(int x)
{
cout<<x<<" ";
}
typedef void(*ptPrint)(int x);
//ptr与&ptr一样吗
ptPrint prt=print;
ptPrint fooPrt=&print;

为什么prt与fooPrt的地址是一样的?
...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZQGet 2004-11-05
  • 打赏
  • 举报
回复
谢谢!
BluntBlade 2004-11-04
  • 打赏
  • 举报
回复
arr == &arr(从数值上来说)

------
数值上相等,但类型上大不一样……
sharkhuang 2004-11-04
  • 打赏
  • 举报
回复
a[]
&a
a

同道理
xuzheng318 2004-11-04
  • 打赏
  • 举报
回复
我顶一下!
shifan 2004-11-04
  • 打赏
  • 举报
回复
语法上就这么规定的,print返回函数指针,&print返回函数地址,也就是函数指针
kobefly 2004-11-04
  • 打赏
  • 举报
回复
函数名是什么?
就是函数的入口地址
跟数组名类似

数组名从本身来讲也是一个地址常量
int arr[];

arr == &arr(从数值上来说)

跟函数名是一样的
理解了数组名的用法

函数名也就理解了
greenteanet 2004-11-04
  • 打赏
  • 举报
回复
因为print是函数名,所以一样。它本身就是代表地址。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧