如何得到变量地址?

afgkidy 2006-08-08 04:14:25
一个函数如下:
int arp(int a,int b)
{
return (a+b);
}
怎么能得到临时变量a+b的地址?
...全文
233 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
afgkidy 2006-08-09
  • 打赏
  • 举报
回复
知道了,原来是这么一个回事情哦 。
houdy 2006-08-08
  • 打赏
  • 举报
回复
对于整型数据来说(char,short,int,long),a+b的结果完全可以存放在寄存器中,要知道访问内存的效率和访问寄存器的效率相差好几个数量级。
PS:当我们习惯了用高级语言思考的时候,不妨换个角度,从低级语言(汇编)来思考,可能有巨大的惊喜:)
afgkidy 2006-08-08
  • 打赏
  • 举报
回复
呵呵 我说的是取临时变量的地址,因为临时变量生存期很短,我想地址应该有个吧。上面的都不能实现吧?

我取它地址的目的是想验证函数调用中栈空间连续分配问题。
lxzhou 2006-08-08
  • 打赏
  • 举报
回复
zheyang xing ma ?
int arp(int a, int b)
{
cout<<&a<<'\t'<<&b<<endl;
return a + b;
}
睡在床板下_ 2006-08-08
  • 打赏
  • 举报
回复
不太好取,不过可以这样子:
int arp(int a,int b)
{
int sum=a+b;
cout<<∑
return sum;
}

void main()
{
arp(1,2);
}
afgkidy 2006-08-08
  • 打赏
  • 举报
回复
`1
afgkidy 2006-08-08
  • 打赏
  • 举报
回复
没有地址那怎么返回值的,总要一个地方存放a+b的值然后返回吧?
WindYou 2006-08-08
  • 打赏
  • 举报
回复
eax?
xiantongyuan 2006-08-08
  • 打赏
  • 举报
回复
a+b是没有地址的,不可能得到:
afgkidy 2006-08-08
  • 打赏
  • 举报
回复
怎么得到?可以写下吗?
4inSky 2006-08-08
  • 打赏
  • 举报
回复
函数体内可以得到,函数体外就释放了

64,636

社区成员

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

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