int *function()与int *(*function)的区别

dzweather 2011-06-18 02:54:14
我的理解是:

int *function()

首先返回值是地址,是一个函数代码区首址的地址。而这个函数代码区(内部代码)最后执行结果返回的类型是整形。


int *(*function)

首先返回值是一个指针。这个指针是指向函数代码区首地址的指针(指针的指针), 而这个函数代码区(内部)执行结果的返回值是整形指针.


以上理解对否?

请详细解答,越详细越好,有例(须具体说明)更好!
...全文
314 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
int *p = int *function();

int *(*pp) = &p;
就想叫yoko 2011-06-18
  • 打赏
  • 举报
回复
int *function()
函数返回一个int型指针
xspace_time 2011-06-18
  • 打赏
  • 举报
回复
没什么好说的

()表示函数

*表示指针

function是一个字符串

int *function()就是一个常用的无参数函数,函数执行完毕返回一个指针

int *(*function)//声名一个int指针指向function的内容作为地址

比如function()

int *(*function)等价于int *(function)等价于int *()//最后这个括号是function函数的地址

simoreg 2011-06-18
  • 打赏
  • 举报
回复

int *function()

返回值:一个指向int的指针


int *(*function)
function是一个函数指针,这个函数的返回值指向int的指针
Rico_Liu 2011-06-18
  • 打赏
  • 举报
回复
搜搜右左法则,找篇文章看看

64,647

社区成员

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

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