局部变量
在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。
全局变量
在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,外部变量是全局变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。
区别
作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等
内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区
生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了
使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内部会优先使用局部变量再使用全局变量