第1个回答 2019-01-13
可以用,两者的区别在于,一个是创建静态内存,一个是动态内存。
只是你要做成服务程序或者有基于这个数组的算法时,别忘记用完p之后要free(),并且让p=(int*)null
第2个回答 2009-04-09
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。本回答被提问者采纳
第3个回答 2009-04-09
不释放就永久占有你的那块内存,其他的变量也不能在申请到这块内存空间,相当于内存泄漏了,所以要释放,小程序不释放看似没有大问题,大程序就很讲究了,所以养成好习惯还是好的。
第4个回答 2009-04-09
可以做实验,循环 malloc(),一次 1M,不要 free(),看机器内存什么时候会耗完
这样你就能明白不 free 的危害了
当然,小程序自己玩玩,不 free 就无所谓了