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