Linux应用程序地址布局
全局初始化变量:数据段
全局未初始化变量:数据段(BSS)
全局的、静态的(static)、初始化的变量:数据段
全局的、静态的、未初始化变量:数据段
全局的常量(const):代码段
局部初始化的变量:栈
局部未初始化变量:栈
局部的、静态的、初始化变量:数据段
局部的、静态的、未初始化变量:数据段
局部常量:栈
通过malloc分配得到的局部指针:堆
(此处数据段是广义上的数据段,包含BSS段)
数据存放总结:
1.代码段:代码,全局常量(const)、字符串常量
2.数据段:全局变量(初始化以及未初始化的)、静态
变量(全局的和局部的、初始化的以及未初始化的)
3.堆:动态分配的区域
4.栈:局部变量(初始化以及未初始化的,但不包含静
态变量)、局部只读变量(局部常量const)