全局变量和局部变量的差别

我看了下概念还是有点模糊 四个选项感觉都很正确与不正确 就是很纠结选a还是选b还是选c还是选d呢

img

错的肯定是D啊

全局变量和局部变量是两种不同的变量类型,它们在程序中的作用域和生命周期不同。

全局变量定义在函数之外,可以在整个程序中访问。它们的生命周期从程序开始直到程序结束。在函数内部声明的变量是局部变量,只能在当前函数内部访问。它们的生命周期仅在当前函数调用期间存在,当函数返回时,局部变量被销毁。

下面是一些关于全局变量和局部变量的区别:

作用域:全局变量可以在程序的任何地方访问,而局部变量只能在声明它们的函数内部访问。
生命周期:全局变量的生命周期从程序开始直到程序结束,而局部变量的生命周期仅在当前函数调用期间存在,当函数返回时,局部变量被销毁。
内存分配:全局变量在程序加载时被分配在全局数据区中,而局部变量在函数调用时被分配在栈区,当函数返回时被销毁并释放内存。
效率:全局变量需要额外的内存开销,并且在程序的不同部分共享,因此可能会引起线程安全问题。局部变量在内存中存在的时间很短,不会造成太多的开销。
在编程时,应该根据具体情况来选择使用全局变量或局部变量。如果需要在程序的多个部分之间共享数据,则应该使用全局变量。如果只需要在当前函数中使用一个变量,则应该使用局部变量。