一般的编译器都支持在编译阶段初始化全局变量,但是我想生命的全局变量对象过大的话,会占用很多磁盘空间。静态全局变量在可执行文件中的数据段。
局部变量在所谓的BSS段放着,这个段的名字就叫为初始化存储段。如果操作系统为程序提供的这个单独的段,那么他一般也会支持在程序执行前将程序所用内存清空,所以为了节省空间,编译器并未对局部变量进行初始化。但是在有的操作系统中,虽然有此段,但是操作系统并未清空程序所使用的内存,因此如果程序员没有显示的初始化变量,并且清零内存,就有可能会出现段错误。
一般的编译器都支持在编译阶段初始化全局变量,但是我想生命的全局变量对象过大的话,会占用很多磁盘空间。静态全局变量在可执行文件中的数据段。
局部变量在所谓的BSS段放着,这个段的名字就叫为初始化存储段。如果操作系统为程序提供的这个单独的段,那么他一般也会支持在程序执行前将程序所用内存清空,所以为了节省空间,编译器并未对局部变量进行初始化。但是在有的操作系统中,虽然有此段,但是操作系统并未清空程序所使用的内存,因此如果程序员没有显示的初始化变量,并且清零内存,就有可能会出现段错误。