malloc 与申明变量区别

声明变量是在栈上申请内存
malloc是在堆上申请内存

然后就是堆内存和栈内存的不同用处:
栈是系统控制的,对函数内声明的变量,内存的声明周期就是到函数结束,除非是全局变量和静态变量,始终占有空间,直到整个程序结束。。
这样就很限制了内存实用的灵活。
堆是程序员自己控制的,malloc的时候就申请,free的时候就释放,换句话说,你可以在任意你想用的时候申请,任意你觉得合适的地方释放,内存的时候更灵活也更有效率。当然带来的问题就是内存泄露的危险,即申请了,却忘了释放,那这块内存就算泄露了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值