1、定义不同:局部变量指的是在函数内定义的变量,全局变量指的是在函数外定义的变量。2、内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区。3. 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了。4、使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。5、作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等。
局部变量
局部变量又被称为内部变量,是指在一个函数内部或复合语句内部定义的变量。局部变量的作用域是定义该变量的函数或定义该变量的复合语句。也就是说,局部变量只在定义它的函数或复合语句范围内有效,只能在定义它的函数或复合语句内才能使用它们。
全局变量
全局变量又被称为外部变量,它属于一个源程序文件。全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。
关于全局变量的说明
1、全局变量从程序运行起即占据内存,在程序整个运行过程中可随时访问,程序退出时释放内存。与之对应的局部变量在进入语句块时获得内存,仅能由语句块内的语句访问,退出语句块时释放内存,不再有效。
2、全局变量在程序员不指定初值的情况下自动初始化为零。
3、在同一源文件中,允许全局变量和局部变量同名。在局部变量的作用域内,全局变量不起作用。