В той главе описаны функции динамического распределения памяти в языке C. Основные среди них - malloc() и free(). При каждом вызове malloc() распределяется часть остающейся памяти. Каждый вызов free() возвращает память системе. Область свободной памяти, в которой распределяется память, называется динамически распределяемой областью памяти или кучей (heap). Прототипы функций динамического распределения памяти находятся в <stdlib.h>
На заметку | Обзор динамического распределения памяти вы найдете в главе 5. |
В стандарте языка C определено четыре функции динамического распределения памяти, которые поддерживаются всеми трансляторами: calloc(), malloc(), free() и realloc(). Однако конкретный транслятор почти наверняка содержит несколько версий этих функций, в которых учтены различные возможности и особенности среды. Например, с трансляторами, генерирующими код для сегментированной модели памяти процессора 8086, поставляются спецефические функции распределения. Для получения подробных сведений и описания дополнительных функций распределения памяти обратитесь к документации по компилятору.
calloc