全局变量、静态全局变量、静态局部变量和局部变量的区别:
按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。
静态存储区域和栈区的区别就是:静态存储区域存放的变量的生存时间和整个程序的生存时间是一样的,而栈区中的变量是局部变量,当函数调用完毕,该变量即被释放,它的生命是短暂的。静态存储区域的未初始化变量默认初始化为0,而栈区未初始化变量默认为不定值。
按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。
文章评论(0条评论)
登录后参与讨论