【发布时间】:2017-05-14 16:15:14
【问题描述】:
如果我在 C 中有一个 int main() 方法,并且有一个返回值,那么这个值是在 return 语句执行后保存在堆栈中还是在返回后堆栈中没有任何可见的东西?
【问题讨论】:
-
这取决于架构和调用约定以及返回类型。例如,通常在 x86_64 上,整数返回值将存储在寄存器 rax 中,而不是堆栈中。例如,如果您返回一个浮点值或一个结构体,情况会有所不同。
-
C 不支持方法。也没有提到使用堆栈!