什么是代码区,全局数据区,堆区,栈区???我只懂C语言基础,请说得通俗详细一点,,大谢。。

什么是代码区,全局数据区,堆区,栈区???我只懂C语言基础,请说得通俗详细一点,,大谢。。,第1张

我感觉你还是不要只记概念,这些东西在你以后的学习过程中都会遇到的,比如在学数据结构时就会遇到堆区和皮森栈区,到时候再去掌握也不迟。

不过简单说说吧(因为我也不太懂):

代码区:就是存放你的程序的渣握孝编译后的可执行代码的地方了

数据区:存放你的程序静态数据,如全局变量、常量等。

栈如稿:在函数调用中,保存程序的当前运行状态、函数的参数、返回结果等。

堆:在分配给一个程序的内存中,除了上面三部分,剩下的就是堆了,也就是程序的自由空间,局部变量(自动变量)等,还有New给指针用的空间,都在这里分配。

在内存空间的顺序是代码区,数据区,堆,栈

一个由C/C++编译的程序占用的内存分别为以下四个部分:

程猜州帆序代码区:存放程序的二进制代码。

静态数据区:存放程序运行期间用到的数据。其存储空间是在编译时分配的,在整个程序执行期间静态数据区中的数据一直存在,程序结束后由系统释放。穗雹

动态内存区(也称栈):也存放程序运行期间用到的迹纯数据,其存储空间在程序运行期间由编译器自动分配释放,其生命周期短于程序的运行期。

堆区:由程序员分配释放,若程序员不释放,程序结束时可能由系统回收。

以上内容抄自课本《C语言与程序设计》(电子工业出版社)


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

原文地址: http://outofmemory.cn/yw/12343790.html

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

发表评论

登录后才能评论

评论列表(0条)

保存