.data
存放已经初始化的全局变量,例如:int a = 100;
常见问题,有时候在程序执行过程中,发现已经定义的全局变量成为了0,而我们在此过程中并没有任何的赋值操作,那么就有可能数据存储位置出现错误了,例如分配到bss段去了,碰到过此问题,记录一次。
.bss
存放未初始化的全局变量或者未初始化的静态变量,例如 int a ,当然这样子默认值均为0,其实非常不推荐这种写法,因为有可能因为内存问题导致这个地方有非预期的值,工作中碰到过,局部变量不初始化有值导致程序偏离原本轨迹。
.heap
存储程序运行时分配的变量
.stack
存储函数调用时临时结构信息,栈是先进后出,压栈在栈顶
借用图片,侵删