加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 10:08:26 所属栏目:百科 来源:网络整理
导读:我假设没有但不积极.不确定如果其他变量可以占用堆栈中的相同位置. 解决方法 不可以.函数的局部变量并不总是在同一个地址. 考虑一个递归函数.如果局部变量应该在同一个地方,那么每次进入和退出递归时,都必须复制它们的所有值. 正常的做法是每个函数调用在堆
我假设没有但不积极.不确定如果其他变量可以占用堆栈中的相同位置.

解决方法

不可以.函数的局部变量并不总是在同一个地址.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读