gpt4 book ai didi

c - 关于静态内存和动态内存(栈和堆)的疑惑

转载 作者:行者123 更新时间:2023-11-30 17:36:03 24 4
gpt4 key购买 nike

所以我有几个关于 C 语言编写的程序中内存使用的问题。

  1. 如果我在主函数之外声明一个全局变量(没有静态前缀),这将被存储在静态内存中或堆栈内存?

  2. 如果我在函数内声明一个带有 static 前缀的变量,这将存储在静态内存中还是堆栈内存中?

  3. 与问题1相同,但在外面加了一个const变量主要功能。

问候。

最佳答案

只要程序运行,所有全局变量和静态变量都需要处于事件状态。当函数返回时它们不会被清除。所以它们不能存储在堆栈中。
它们存储在数据段上。您可以阅读this了解变量在程序内存布局中存储的位置。

关于c - 关于静态内存和动态内存(栈和堆)的疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22814553/

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