请用自己的话解释全局变量与局部变量的区别,静态变量与自动变量的区别...

默认分类 未结 1 521
_______亡心忘
_______亡心忘 2023-03-17 14:36
相关标签:
1条回答
  • 2023-03-17 14:59

    具有文件作用域的变量称为全局变量。文件作用域就是在一个程序中所有函数之外说明的标识符。全局变量标识符从说明处起至文件尾的任何函数中都可以使用。具有函数作用域或块作用域的标识符称为局部变量。块作用域就是在一对大括号{}之间定义的标识符。函数作用域就是在一个函数中声明的标识符。块作用域的局部变量只能在定义的大括号之间使用。而函数作用域的局部变量只能在声明该变量的函数中使用。静态变量,程序在启动的时候,便为该变量分配了内存空间,程序中用extern和static关键标志,程序一开始执行的时候就已经存在了,但是不等于它们在整个程序中可用。动态变量,也叫自动存储变量。c++把变量默认为自动存储。用static说明的局部变量只能在定义该变量的函数体中使用。不过与自动变量不同的是,static静态变量在第一次使用时进行初始化(默认初始值为0)。函数退出时,系统保持该变量的值和存储空间。然后你下次调用这个函数时,static变量还是上次退出函数时的值。以上是本人的一点理解,希望对你有所帮助!

    全部变量是相对于局部变量的,一个作用的范围大,一个小静态变量是在一直占用内存的,直到程序结束

    全部变量就是在整个工程工都可以调用。比如我在一个标准模块中定义了一个全局变量,那么我无论是在窗体1还是窗体2还是其他地方都可以调用它。而局部变量就不行,比如我在某个窗体定义了一个变量,那么这个变量我就只能在这个窗体中使用。 静态变量,就是当我执行完一个过程后,它的值保存下来了。下次再执行这个过程的时候,使用的值就是新值(即上次过程执行完后产生的值)而动态变量就不会保存那个值。当执行完一个过程后,静态的数值变量会初始化为0,静态的字符串变量会初始化为空字符串说得很明白了不知道你了解不?

    0 讨论(0)
提交回复