变量存放位置的小测试

变量存放位置的小测试

Content #

现在让我们来做一个小的测试,请看以下代码:

static int x1 = 0;
static int x2 = 1;

x1和x2会被放在什么段中呢?

x1会被放在.bss中,x2会被放在.data中。

为什么一个在.bss段, 一个在.data段?

因为x1为0,可以认为是未初始化的,因为未初始化的都是0,所以被优化掉了可以放在.bss,这样可以节省磁盘空间,因为.bss不占磁盘空间。另外一个变量x2 初始化值为1,是初始化的,所以放在.data段中。

From #

程序员的自我修养