gpt4 book ai didi

c - 为什么 C 变量存储在特定的内存位置?

转载 作者:太空狗 更新时间:2023-10-29 17:14:29 25 4
gpt4 key购买 nike

昨天面试,面试官问我存储变量的存储类。

我的回答战:

Local Variables are stored in Stack.       
Register variables are stored in Register
Global & static variables are stored in data segment.
The memory created dynamically are stored in Heap.

他问我的下一个问题是:为什么要将它们存储在那些特定的内存区域中?为什么局部变量 存储在 register 中(尽管我需要一个在我的程序中经常使用的 auto 变量)?或者为什么全局或静态变量存储在堆栈中?

然后我就傻眼了。请帮助我。

最佳答案

因为存储区决定了变量的scopelifetime

您可以根据需要选择存储规范,即:
生命周期:您期望特定变量需要存在且有效的持续时间。
范围:您希望变量可访问的范围(区域)。

简而言之,每个存储区域提供不同的功能,您需要不同的功能,因此需要不同的存储区域。

关于c - 为什么 C 变量存储在特定的内存位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749335/

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