C语言,全局变量和局部变量有什么区别

麻烦讲讲,顺便讲讲当什么情况下定义成全局变量好,什么情况下定义成局部变量好。为什么

第1个回答  2011-03-20
我作个比喻,一个大的正方形为全局,大正方形内部有个小正形为局部。有个变量为x在大正方形内,在小正方形之外。有个变量y在小正形之内。变量x可以在任何地方被使用包括在小正方形内
而y变量的使用范围仅在小正方形之内。不知这样解释你理解不?追问

理解,就是全局变量能被任何函数用。在函数体内声明的变量只能在函数体内用。。但不理解为什么要分全局变量局部变量?都用全局变量不是更方便?

第2个回答  2019-03-12
a=1 b=2是全局变量,这点没错
因为在main函数中,调用了fun2();,在函数fun2中,把全局变量赋与了新值,a=4和b=9,那么全局变量ab就变为了这个新的数值,在输出的时候就输出它们的新值。
全局变量的含义简单来说就是全部函数可以使用它或全局可以使用,而不是你理解的它的数值是不可改变的。除非你用const来修饰这个变量,即全局变量const int a=1;,这个a就是不可变的,如果在函数中改变a的值,编译都不能通过。
理解了吗望采纳。
第3个回答  2019-10-10
全局变量在整个范围函数都是用,而局部变量只在规定的区域内适用,并且当在一个函数中全局变量和局部变量同时出现时候,这个时候全局变量的作用失效
第4个回答  2020-01-24
顾名思义,全局变量是在整个程序都可以调用的的变量,而局部变量只能在声明的函数里调用,他们之间的区别就是以上适用范围的不同,这个很好理解!
第5个回答  2020-02-11
全局变量是整个应用程序中任何方法都可以调用,而局部变量则只针对声明的那个方法可以使用。
相似回答