可执行程序包括BSS段、 数据段、 代码段(也称文本段)。 BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的 全局变量 和 静态变量 的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。 注意和 数据段的区别,BSS存放的是未初始化的 全局变量和 静态变量,数据段存放的是初始化后的全局变量和静态变量。 数据段:存放已初始化的全局变量和常量。 代码段:存放可执行代码的二进制代码。 堆段:由用户申请,比如:p =(char *) new malloc(10),代码运行结束之后,由操作系统回收,但是在裸跑的单片机上这种操作是危险了,因为没有内存管理机制,很容易导致内存溢出。 栈段:有计算机自动分配,存放函数的 参数值, 局部变量等。