C语言中的malloc和free函数
请问这2个函数必须要配对使用吗?也就是说,我用了malloc开辟新的空间使用了之后必须要用free函数释放吗?这个的原理是什么?为什么还需要释放啊?不用free就不释放内...
请问这2个函数必须要配对使用吗?
也就是说,我用了malloc开辟新的空间使用了之后
必须要用free函数释放吗?
这个的原理是什么? 为什么还需要释放啊?
不用free就不释放内存,会怎样?
关机之后才启动电脑,就自动释放吗? 展开
也就是说,我用了malloc开辟新的空间使用了之后
必须要用free函数释放吗?
这个的原理是什么? 为什么还需要释放啊?
不用free就不释放内存,会怎样?
关机之后才启动电脑,就自动释放吗? 展开
展开全部
可以用,两者的区别在于,一个是创建静态内存,一个是动态内存。
只是你要做成服务程序或者有基于这个数组的算法时,别忘记用完p之后要free(),并且让p=(int*)null
只是你要做成服务程序或者有基于这个数组的算法时,别忘记用完p之后要free(),并且让p=(int*)null
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不释放就永久占有你的那块内存,其他的变量也不能在申请到这块内存空间,相当于内存泄漏了,所以要释放,小程序不释放看似没有大问题,大程序就很讲究了,所以养成好习惯还是好的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以做实验,循环 malloc(),一次 1M,不要 free(),看机器内存什么时候会耗完
这样你就能明白不 free 的危害了
当然,小程序自己玩玩,不 free 就无所谓了
这样你就能明白不 free 的危害了
当然,小程序自己玩玩,不 free 就无所谓了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询