数据结构知识点

函数内的变量在函数结束时会不会被回收?

计算机不会删数据,你说的临时变量是执行的时候在栈里临时生成的,遇到}符号的时候计算机就释放了该内存,实际是计算机将该块内存改成了未使用,如果没被新数据覆盖,是可以通过地址和解引用运算符获得里面的内容的

为什么写链表时每个节点都要动态分配内存?

因为当某个节点删除时,可以将此节点的内存释放,不再占用内存。
如果是静态的定义变量,则变量不会变动,会一直占用内存,这在大链表的不断删除中会占用很大的内存。

动态分配内存的其它好处:
1.有时候不知道需要多大内存,用直接命名变量的话,可能会不够也可能浪费,而动态分配依据程序的运行来分配内存,更符合要求。
2.本地数组变量是直接存储在栈区的局部变量,它的大小受限,而动态内存分配创造的是一个在堆中的指针数组,它指向栈区的一块内存,它的大小是任意的;


这一块不理解,回头看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值