gpt4 book ai didi

c - 对为什么我们需要存储函数的返回地址制定严格的答案

转载 作者:行者123 更新时间:2023-11-30 20:23:02 26 4
gpt4 key购买 nike

在准备 C 编程考试时,我遇到了以下问题。

Both local variables and a function’s return address are stored in a so called call frame (or activation record). Why do we need to store the return address of a function and in which of the four memory segments are the call frames stored?

在我的脑海中,我用以下方式回答了这个问题:

我了解到堆栈存储返回地址,因此存储返回地址的调用帧就是堆栈。我们需要存储函数的返回地址,否则,在执行函数时,程序将不知道函数执行后该去哪里。

我对自己的回答并不满意,因为我觉得我缺乏“编程”语言。我该如何改进答案?例如,我可能可以将编程术语添加到答案中。

最佳答案

是的,您必须存储返回地址才能返回到调用函数。在某些体系结构上,它存储在堆栈中,在某些体系结构上,它存储在寄存器中。

关于c - 对为什么我们需要存储函数的返回地址制定严格的答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37385480/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com