Когда я использую malloc() и free() случайным образом, вложенные и с разными размерами, в какой-то момент память будет фрагментирована, потому что эти операции оставляют большой список небольших областей памяти позади, которые являются несмежными и поэтому могут " t будет выделено как одна большая часть.
Несколько вопросов по этому поводу:
-
Если это делается довольно часто, так что память вынуждена быть фрагментирована, а затем все эти области памяти
free()d, могу ли я предположить, что эти свободные области объединены обратно в исходный смежный размер? -
Когда я всегда делаю
malloc(), а затемfree()для одной и той же памяти и никогда не вставляю эти вызовы. Разве фрагментирована память в этом сценарии, когда распределенные/освобожденные размеры всегда разные?