自动存储、静态存储和动态存储
根据分配内存的方法,C++有3中分配内存的方式:自动存储、静态存储和动态存储(有时候也叫做自由存储空间或栈)。在存在的时间长短方面。以这3主公方式分配的数据对象各不相同。下面简要介绍一下每种类型
自动存储
在函数内部定义的常规变量使用自动存储空间,被称为自动变量(局部变量)。当它们所属的函数被调用时,会自动在栈空间上为它们分配存储空间。在该函数结束时栈空间释放、其生命也会自动消亡。
比如
根据结果我们可以清楚的看到,在函数调用的时候,为n数组在栈空间上开辟了20个字节的空间。也可以使用并且打印。但是当函数调用结束以后这段空间就会被自动释放。当然里面存储的数据也就会丢失。那就有人会发现这样一个问题。如下
int fun(void)
{
int num = 9;
return num;
}
int main(