c++里面静态变量和动态变量,自动变量这些都有哪些个区别

c++里面静态变量和动态变量,自动变量这些都有哪些个区别 为什么要搞这动态变量这些东西,他们具体用在什么地方 他们难道的功能普通的变量不能够实现,还是为什么 谢谢,这玩意头都绕晕了。

自动变量,指auto。所有变量如果不带说明,默认都是auto,即自动变量(动态变量)。特征:每次进入该函数运行时,值都是不确定的,需要初始化。退出该函数时,变量所占的内存被回收了。 静态变量,指static,特征:每次进入该函数运行时,值是上次运行时的值(如是第一次,则需要初始化)。退出该函数时,变量不会被回收。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-05
auto为动态变量 可省略,在c++中通常都不写auto,即未加属性说明的局部变量都为自动变量。当定义时,系统即在动态区为其分配存储单元。函数运行结束后释放它所占的存储单元;如果在定义时,不给自动变量赋初值,那每次调用时,其初值是不确定的;如果定义时赋初值,那每次调用时它都取定义时所指定的值。 static为局部静态变量所占存储单元在静态区,在调用它所在的函数后,在函数体内被修改了的静态变量的值被保留下来作为下次函数调用的初值起到全局变量的作用。 如果使用一个全局变量,又怕受到其它变量的干扰,于是就将其设计为静态变量
相似回答