1.全局变量与局部变量定义位置的区别?
答:全局变量定义位置在 全局/静态区 全局静态变量定义位置在全局/静态区
局部变量定义位置在栈区 局部静态变量定义位置在全局/静态区
2.全局变量的生命周期与作用域是什么?
答:
全局变量
生命周期是程序的开始到结束
作用域是全局作用域(只需要在一个源文件中定义,就可以作用于所有的源文件)可以通过extern在其他文件中使用,但不可以二次赋值。
全局静态变量
生命周期也是与整个程序同在的,从程序开始到结束一直起作用
全局静态变量作用域只在定义它的一个源文件内,其他源文件不能使用它。
3.局部变量的生命周期与作用域是什么?
答:局部变量
生命周期是被声明到当前函数的结束
作用域是局部函数内,在定义该变量的函数内,只要出了该函数,该局部变量就不再起作用
局部静态变量
生命周期是其第一次初始化后就一直存在直到程序结束
作用域只在定义它的函数内可见,出了该函数就不可见了