Возможный дубликат:
Как работают free и malloc в C?
Рассмотрим сценарий, в котором я должен выделить около 20 байт памяти через malloc. Для того чтобы функция call to malloc() была успешной, должны ли 20 байтов быть доступны в памяти или могут быть разбросаны? Например, в приведенном выше случае, если имеется 4 или 5 кусков по 10 байт, будет ли работать malloc? Или это конкретная ОС или специфическая для компилятора?