赞
踩
BSS段和DATA段都是存储程序数据的内存段,但它们有一些不同之处。
BSS段是未初始化的全局或静态变量的存储区域。在程序运行前,BSS段中的数据会被设置为0或者空指针,因此它们在编译时并没有被初始化。当程序运行时,BSS段中的数据会被分配相应的内存空间,但不会被保存到可执行文件中。这样做是为了节省可执行文件的空间。例如,以下代码中的全局变量a和b会被放在BSS段中:
int a;
static int b;
DATA段是已经初始化的全局或静态变量的存储区域。在程序运行时,DATA段中的数据会被保存到可执行文件中,并且在程序运行前就已经初始化。例如,以下代码中的全局变量c和d会被放在DATA段中:
int c = 1;
static int d = 2;
总的来说,BSS段和DATA段都存储程序数据,但是BSS段中的数据在程序运行前没有被初始化,而DATA段中的数据已经被初始化了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。