Рубрики

Как free () знает размер памяти, которая должна быть освобождена?

Рассмотрим следующий прототип функции free (), которая используется для освобождения памяти, выделенной с помощью malloc () или calloc () или realloc () .

void free(void *ptr);

Обратите внимание, что свободная функция не принимает размер в качестве параметра. Как функция free () узнает, сколько памяти нужно освободить, используя только указатель?

Ниже приведен наиболее распространенный способ хранения объема памяти, чтобы free () знала размер памяти, подлежащей освобождению.
Когда выделение памяти выполнено, фактическое выделенное пространство кучи на одно слово больше запрошенной памяти. Дополнительное слово используется для хранения размера выделения и позже используется free ()

Рекомендуемые посты:

Как free () знает размер памяти, которая должна быть освобождена?

0.00 (0%) 0 votes