标签: c
我知道当你在C中声明一个全局未初始化的变量时它存在于.bss段中。但是,如果你接受该值并将其设置为函数中的某些值,会发生什么?它会移动到堆栈段吗?
答案 0 :(得分:1)
它完全保持原样;你改变了它的价值。放置它的bss部分只是因为默认情况下全局变量被初始化为零,因此将它们直接包含在可执行文件中会浪费(磁盘)空间。在程序初始化之后,您的bss变量可以很高兴地具有非零值。
bss