
如上图所示,
1、全局int变量(包括有static前缀的)未初始化, 默认值是0。
2、局部int变量未初始化,默认值未知。(除了加static 前缀的局部变量,因为此时的局部变量是放在静态存储区内的,跟全局变量一样)
解释:局部变量是存在栈中,数据量大,且生命周期短,若为局部变量进行初始化,开销很大。
-------所以,我们在定义局部变量的时候,最好直接初始化。
本文深入探讨了全局与局部变量在初始化时的默认值差异。全局int变量(含static修饰符)默认初始化为0,而局部int变量未初始化时值不确定,除非带有static前缀。文章强调了局部变量因存于栈中,生命周期短,初始化开销大,建议定义时直接初始化。

如上图所示,
1、全局int变量(包括有static前缀的)未初始化, 默认值是0。
2、局部int变量未初始化,默认值未知。(除了加static 前缀的局部变量,因为此时的局部变量是放在静态存储区内的,跟全局变量一样)
解释:局部变量是存在栈中,数据量大,且生命周期短,若为局部变量进行初始化,开销很大。
-------所以,我们在定义局部变量的时候,最好直接初始化。
2694
7327
1299

被折叠的 条评论
为什么被折叠?
