函数局部变量是否始终存储在每次执行的同一组内存位置中?

函数局部变量是否始终存储在每次执行的同一组内存位置中?,第1张

概述我假设没有但不积极.不确定如果其他变量可以占用堆栈中的相同位置. 不可以.函数局部变量并不总是在同一个地址. 考虑一个递归函数.如果局部变量应该在同一个地方,那么每次进入和退出递归时,都必须复制它们的所有值. 正常的做法是每个函数调用在堆栈上都有一个“块”.如果连续两次调用相同的函数,则局部变量地址可能相同.如果以递归方式调用它,则第二个调用将位于堆栈的不同区域,因此本地变量地址将不同. 我假设没有但不积极.不确定如果其他变量可以占用堆栈中的相同位置.解决方法 不可以.函数的局部变量并不总是在同一个地址.

考虑一个递归函数.如果局部变量应该在同一个地方,那么每次进入和退出递归时,都必须复制它们的所有值.

正常的做法是每个函数调用在堆栈上都有一个“块”.如果连续两次调用相同的函数,则局部变量地址可能相同.如果以递归方式调用它,则第二个调用将位于堆栈的不同区域,因此本地变量地址将不同.

总结

以上是内存溢出为你收集整理的函数局部变量是否始终存储在每次执行的同一组内存位置中?全部内容,希望文章能够帮你解决函数局部变量是否始终存储在每次执行的同一组内存位置中?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1217899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存