【发布时间】:2009-11-03 04:49:33
【问题描述】:
在 C 中,我有这段代码:
int a;
a = 10 + 5 - 3
我想问:(10+5-3) 存储在哪里?
(据我所知,a 位于堆栈上,(10+5-3) 怎么样?这个右值是如何计算的?)
【问题讨论】:
-
我觉得“代码片段”很搞笑是不是很糟糕? :)
-
一个不错的 SO 参考:stackoverflow.com/questions/79923/…
-
@eJames,它可能不好,也可能不坏。我怀疑 codpiece 不再普遍使用,很多人甚至可能不知道它是什么(除非他们看过“BlackAdder”)。
-
@djbender 这个参考是关于堆栈和堆的,这里不相关。正如在几个回复中所指出的,r 值在汇编指令中实现为操作数(可以是一系列 assy 指令,但这些 r 值仍然是指令或其一部分),因此与程序本身。
-
@mjv 嘿,我说它是一个很好的参考,而不是答案 ;-)