回答
從手冊頁:
的realloc()的函數改變所述存儲器塊的大小ptr指向size字節。內容將從區域 的起點到新舊尺寸的最小值範圍內保持不變。如果新尺寸大於舊尺寸,則添加的內存不會被初始化。如果ptr爲NULL,那麼對於所有大小的值,調用等價於malloc(size)的 ;如果size等於零,並且ptr不爲NULL,那麼調用等價於free(ptr)。除非ptr爲NULL,否則之前調用malloc(),calloc()或realloc()時必須返回 。如果指向的區域被移動,則完成一個空閒(ptr)。
所以,你需要的大小調用realloc的()爲0
realloc(a, 0);
+1,這讓我想起了一個着名的線程與UD上glibc bugzilla http://sourceware.org/bugzilla/show_bug.cgi?id=12547 – ouah 2012-01-31 18:00:49
alloca()
來電,這是返回時釋放的堆棧幀分配內存。這個函數的行爲是不可移植的,手冊頁本身說不使用它。
這並不真的回答他的問題,你提出了一種避免分配的方法,他想免費。 – 2012-01-31 17:47:36
這是一個詭計的問題,不是嗎? 'alloca()'不會避免分配;它避免了堆。 – mkb 2012-01-31 19:30:21
- 1. 免費()不釋放內存?
- 2. 如何在下列情況下釋放內存?
- 3. firefox高內存(RAM)使用情況,如何用javascript免費?
- 4. 如何在這種情況下正確釋放內存
- 5. 如何在這種情況下釋放內存?
- 6. iPhone如何在這種情況下釋放內存
- 7. 如何在這種情況下釋放內存?
- 8. 免費cv ::墊沒有釋放內存
- 9. 如何爲隊列釋放內存?礦不免費
- 10. C#優化內存使用情況:如何釋放DataTable聲明的內存
- 11. 免費如何知道要釋放的內存大小?
- 12. 有免費()釋放內存不起作用
- 13. C++內存釋放,在這種情況下是否需要?
- 14. 我如何確保在MULTIMAP的情況下分配的內存被釋放
- 15. malloc和免費的D /探戈不釋放內存?
- 16. 如何在不分配內存的情況下使用ImageView
- 17. 如何在不使用大量內存的情況下縮放過渡UILabel?
- 18. cudaGraphicsGLRegisterImage在不破壞緩衝區的情況下在CUDA中釋放內存
- 19. 檢測釋放的內存使用情況(FPC - > heaptrc - > keepreleased)
- 20. 在這種情況下如何避免內存泄漏?
- 21. 如何在不分配內存的情況下測量.net應用程序的內存使用情況?
- 22. 如何在從付費到免費的情況下爲以前的應用用戶恢復應用內購買
- 23. 如何在不使用setCoordinate的情況下更新註釋?
- 24. [字節]是否自動釋放內存而不必使用免費?
- 25. startActivityForResult()在內存不足的情況下
- 26. 如何解釋htop的內存使用情況信息
- 27. MATLAB中的免費()和mxFree() - 兩次釋放內存
- 28. 如何獲得C++在Windows下的內存使用情況
- 29. 如何使盒子免費,在桌子上的盒子,SWI-Prolog的情況下?
- 30. 我需要在沒有ARC的情況下在iOS中釋放內存?
爲什麼你不想使用'free()'? – 2012-01-31 17:37:35
因爲教授問你? – mkb 2012-01-31 17:38:28
_如何在不使用'+'的情況下添加數字?_ – SLaks 2012-01-31 17:38:30