变量为什么要进行初始化?

内存是在操作系统的统一管理下使用的!

1、软件在运行前需向操作系统申请存储空间,在内存空闲足够时,操作系统将分配一段内存空间并将外存中软件拷贝一份存入该内存空间中,并启动该软件的运行;

2、在软件运行期间,该软件所占内存空间不再分配给其他软件;

3、当软件运行完毕后,操作系统将回收该内存空间(注意:操作系统并不清空该内存空间中遗留下来的数据),以便再次分配给其他软件使用。

综上所述,一个软件所分配到的空间中极可能存在着以前其他软件使用过后的残留数据,这些数据被称之为垃圾数据。所以通常情况下我们为一个变量,为一个数组,分配好存储空间之后都要对该内存空间初始化。


小知识:

初始化的全局变量            存放在      数据段

局部变量                          存放在      栈

malloc函数分配的空间     来自于      堆

未初始化的全局变量        存放于      bss段   

你可能感兴趣的:(变量,内存,C语言,初始化)