malloc一定要free嗎 為什么malloc()和free()函數會產生很多內存碎片?
為什么malloc()和free()函數會產生很多內存碎片?首先,碎片分為內部碎片和外部碎片。內部碎片是指malloc函數在塊內部生成的信息,用于記錄當前分配的塊在實現時的信息。因此,malloc之后
為什么malloc()和free()函數會產生很多內存碎片?
首先,碎片分為內部碎片和外部碎片。內部碎片是指malloc函數在塊內部生成的信息,用于記錄當前分配的塊在實現時的信息。因此,malloc之后實際占用的內存大小通常大于所需大?。ㄟ@也與內存對齊有一定關系)。外部碎片是我在樓上說的。重復使用后,會在堆中產生不連續(xù)的可用內存塊,即外部碎片。如果需要,我可以提供一個源代碼來模擬malloc進程