什么是代码区,全局数据区,堆区,栈区???我只懂C语言基础,请说得通俗详细一点,,大谢。。
3个回答
展开全部
我感觉你还是不要只记概念,这些东西在你以后的学习过程中都会遇到的,比如在学数据结构时就会遇到堆区和栈区,到时候再去掌握也不迟。
不过简单说说吧(因为我也不太懂):
代码区:就是存放你的程序的编译后的可执行代码的地方了
数据区:存放你的程序静态数据,如全局变量、常量等。
栈:在函数调用中,保存程序的当前运行状态、函数的参数、返回结果等。
堆:在分配给一个程序的内存中,除了上面三部分,剩下的就是堆了,也就是程序的自由空间,局部变量(自动变量)等,还有New给指针用的空间,都在这里分配。
在内存空间的顺序是代码区,数据区,堆,栈
不过简单说说吧(因为我也不太懂):
代码区:就是存放你的程序的编译后的可执行代码的地方了
数据区:存放你的程序静态数据,如全局变量、常量等。
栈:在函数调用中,保存程序的当前运行状态、函数的参数、返回结果等。
堆:在分配给一个程序的内存中,除了上面三部分,剩下的就是堆了,也就是程序的自由空间,局部变量(自动变量)等,还有New给指针用的空间,都在这里分配。
在内存空间的顺序是代码区,数据区,堆,栈
更多追问追答
追问
谢谢
追答
给点奖励啊
展开全部
全局变量和静态变量存放于进程的数据段。 3. Windows下进程的栈空间会自动存到heap中,就是堆上,Obj *p = new Obj (); p的空间就是使用的堆
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼说的有点小问题,这个地方的堆区和栈区与数据结构中的不同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询