1.3.6 Функции распределения памяти

          В языке С для распределения динамической памяти были определены две функции: calloc() и malloc(). Их аргументы задают размер резервируемой памяти. Функции возвращают в качестве значения адрес первого байта резервируемой памяти.
           Пример:
calloc (nl,sl); где
nl – целое число объектов, для которых резервируется память;
sl – размер памяти в байтах.
p = (int)calloc(100, size of (int));
()(p+i) = 10;\\i – му объекту присвоить значение 10
p+isize of (int);
malloc(c);\\целый размер блока в байтах

struct tnod {
int lbl;
struct tnod lt,rg; } pn;\\объявление двоичного дерева
pn = (struct tnod)malloc (size of(struct tnod));
такой оператор выделяет блок памяти для одного узла дерева.
pn  lf = NULL;
pn  rg = (struct(tnod));
malloc(size of(struct tnod));
     Любой динамически построенный объект после его использования должен быть уничтожен с помощью функции void free(pn).
    В языке С++ не рекомендуется пользоваться этими операторами и для резервирования и освобождения памяти введены новые операторы- new и delete.
        Примеры их использования будут показаны далее
.