您的位置:首页 > 编程语言

进程内存空间的划分(代码区,全局区,BSS段,栈区,堆区,只读常量区)

2015-08-18 12:03 453 查看
进程的内存空间划分:6个部分代码区、只读常量区、全局区、BSS段、堆、栈

代码区 – 程序的代码(以函数的形式)存入代码区,函数指针就是函数在代码取得地址,代码区 是 只读区域.

只读常量区 – 很多的书上都把只读常量区归入代码区,存放字符串的字面值(“abc”)和const修饰的全局变量。

全局区 – 存放全局变量和static的局部变量,读写权限。

BSS段 – 存放为初始化的全局变量(没有写=的),读写权限。全局区和BSS段区别在于:虽然两者都是在main运行前创建,但BSS段不会在 main()执行之前自动清0,而全局区会。

栈区(stack) -  也叫堆栈区 ,存放局部变量(没有static),函数的形参也是在栈区。

堆区 (heap)- 也叫自由区,是程序员完全管理的区域,系统不会管理这个区域。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: