面试题答案
一键面试- 初始化顺序:全局变量
globalVar1
先于静态局部变量staticLocalVar
初始化。 - 原因:
- 全局变量在程序启动时就会被分配内存并进行初始化,在整个程序的生命周期内都存在。
- 静态局部变量是在函数第一次被调用时进行初始化,它在函数内保持局部作用域,但具有全局生命周期。在
main
函数执行前,函数尚未被调用,所以静态局部变量staticLocalVar
此时未初始化,而全局变量globalVar1
已初始化完成。
globalVar1
先于静态局部变量staticLocalVar
初始化。main
函数执行前,函数尚未被调用,所以静态局部变量staticLocalVar
此时未初始化,而全局变量globalVar1
已初始化完成。