有些题目必须定义局部变量才能ac,有些题目又必须要定义全局变量才能ac,我真是绷不住了。求人给我详细解答一下他们的区别,已经在写题目是到底要怎么使用。
在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内部, 离开该函数后就是无效的,再使用就会报错
在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序
每个变量都有其生命期。全局变量的生命期和程序一样,即从程序运行开始,一直到程序运行结束,你在任何地方都可以使用全局变量,可以实现在不同函数之间进行数据交换和共享。局部变量的生命期只在其所在的代码块,所谓代码块简单点说就是两个大括号之间,当程序运行到代码块之外时,局部变量就被系统回收了,这个变量的空间就不受本程序控制,随时会被操作系统分配给其它进程使用而写入数据。当然,编译器也会禁止你在代码块之外访问代码块内的局部变量,会提示变量未定义。
到底使用哪种变量,还是需要你代码编写的时候的需要。
全局变量尽量少用