程序的内存分配(堆区,栈区,全局区,代码区..)
2017-11-29 20:58
232 查看
在计算机系统中,运行的应用程序的数据都是保存在内存中,不同类型的数据,保存的内存区域不同,包括:
1、栈区[stack]:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区[heap]:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表。
3、全局区[静态区]:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
4、文字常量区:存放常量字符穿。程序结束后由系统释放。
5、程序代码区:存放函数体的二进制代码。
6、寄存器区:用来保存栈顶指针和指令指针(汇编操作)
https://www.cnblogs.com/xiu619544553/p/5325177.html 【数据在内存中的存储】
http://blog.csdn.net/youoran/article/details/10990815 【C语言中内存分配】(内存占用,int多少字节等问题)
1、栈区[stack]:由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区[heap]:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表。
3、全局区[静态区]:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。
4、文字常量区:存放常量字符穿。程序结束后由系统释放。
5、程序代码区:存放函数体的二进制代码。
6、寄存器区:用来保存栈顶指针和指令指针(汇编操作)
https://www.cnblogs.com/xiu619544553/p/5325177.html 【数据在内存中的存储】
http://blog.csdn.net/youoran/article/details/10990815 【C语言中内存分配】(内存占用,int多少字节等问题)
相关文章推荐
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 内存管理:栈区,堆区,全局区,文字常量区,程序代码区
- 栈区,堆区,全局区,文字常量去,程序代码区
- 代码区,初始化全局数据区,BSS,堆区,栈区,程序环境变量区简介
- 详解栈区、堆区、全局区、文字常量区、程序代码区
- 内存管理:栈区,堆区,全局区,文字常量区,程序代码区
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 内存详解<一>
- 内存管理:栈区,堆区,全局区,文字常量区,程序代码区
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 栈区,堆区,全局区,文字常量区,程序代码区 详解
- 计算机语言(c)的栈区,堆区,全局区,文字常量区,程序代码区解析