一个编译完的程序的结构一般分为3段:text段,data段,bss段
text段:就是放程序代码的,编译时确定,只读
data段:存放在编译阶段(而非运行时)就能确定的数据,可读可写,就是通常所说的静态存储区,赋了初值的全局变量和静态变量存
放在这个区域,常量也存放在这个区域
bss段:定义而没有赋初值的全局变量和静态变量,放在这个区域,bss段通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前bss段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。
bss段和数据段的区别:bss存放的是未初始化的全局变量和静态变量,数据段存放的是初始化后的全局变量和静态变量。