C++学习之旅3种数据管理方式----自动存储、静态存储、动态存储

本文详细介绍了C++中的三种数据管理方式:自动存储、静态存储和动态存储。自动存储涉及局部变量,其生命周期在函数调用结束时结束。静态存储包括全局变量和静态局部变量,其生命周期贯穿整个程序执行。动态存储则由new和delete管理,提供更灵活的内存分配,但也可能导致内存泄漏。文章通过实例解析了各种存储方式的特点和注意事项。
摘要由CSDN通过智能技术生成

自动存储、静态存储和动态存储

根据分配内存的方法,C++有3中分配内存的方式:自动存储、静态存储和动态存储(有时候也叫做自由存储空间或栈)。在存在的时间长短方面。以这3主公方式分配的数据对象各不相同。下面简要介绍一下每种类型


自动存储


在函数内部定义的常规变量使用自动存储空间,被称为自动变量(局部变量)。当它们所属的函数被调用时,会自动在栈空间上为它们分配存储空间。在该函数结束时栈空间释放、其生命也会自动消亡。
比如
这里写图片描述
这里写图片描述
根据结果我们可以清楚的看到,在函数调用的时候,为n数组在栈空间上开辟了20个字节的空间。也可以使用并且打印。但是当函数调用结束以后这段空间就会被自动释放。当然里面存储的数据也就会丢失。那就有人会发现这样一个问题。如下

int fun(void)
{
    int num = 9;
    return num;
}

int main(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxnsirius

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值