发布网友 发布时间:2022-04-21 19:22
共2个回答
热心网友 时间:2023-07-02 01:42
首先变量一般分为局部和全局,木有整体一说。
根据c语言的说法,局部变量:定义在方法内部的变量叫局部变量;全局变量:定义在方法外部的变量叫全局变量。局部变量和全局变量的主要区别在于二者的生存周期不同。
全局变量的生存周期:静态分配内存,程序运行期间常驻内存,直到程序运行结束。
局部变量的生存周期:动态分配内存,位于线程堆栈中。
另外全局变量和局部变量的作用域不同,举例来说,类中的变量作用域在当前类中,类方法中的变量作用域在当前方法中。
全局变量的使用场景:多个地方需要使用,大家共享。
局部变量的使用场景:只在当前这个地方使用。
热心网友 时间:2023-07-02 01:42
局部变量的作用域仅为离他最近的大括号内,超出这个范围无效!全局变量在整个文件中都有效!但是如果局部变量若与全局变量有重复,在局部变量作用域内以局部变量为准!局部变量在作用域大括号结束后便释放存储空间,全局变量随整个程序的消亡而释放存储空间!
在你这个程序中首先运行了sub1,便更改了a[10]的值为0
2
4
6
8
10
12
14
16
18;而sub2中因为a[MAX]
为局部变量在执行完sub2后便释放了存储空间,不会对全局变量a[10]的值产生影响,因此运行sub2();sub3(a);显示结果为0
2
4
6
8
10
12
14
16
18