全局变量,作用域是整个程序,若某一局部重新定义这个量,则全局变量作用域是除这个局部外的整个程序。它的生命期与程序生命期一样长。
静态变量保存在静态存储区,它的生命期与程序生命期相同。例如,某一子程序(子函数)里定义了一个静态量,当程序执行退出该子程序时,这个量仍被保留,其它非静态量的存储单元则被释放。也就是说,非静态量的生命期与子程序的生命期相同,进子程序,分配单元,退出则取消,上次调用子程序时非静态量消失,静态量却能保留上次调用的结果。
相同 -- 生命期与程序生命期相同
不同 -- 作用域不同
作用域不同,相同的是保存在静态存储区中
标准的面试题的答案:
全局变量具有全局作用域 静态变量具有文件作用域 。。。