Особенности при выделение блоков

Var

P:^Byte;

Под любую динамическую переменную при запросе блока памяти администратор кучи выделяет блок размер которого кратен 8 байтам. Это связанно с тем, что с каждым свободным блоком связывается описатель, представляющей собой запись из двух полей указателей (1 указ.=4 байт) 1 указатель содержит адрес описателя следующего свободного блока, 2 указатель содержит длину следующего свободного блока.

Поскольку длина данной записи 8 байт то размер выделяемого блока в куче не может быть меньше 8 байт поэтому если запрашивается блок размером от 1 до 8 байт то администратор выделит 8 байт, а если от 9 до 16 байт то выделит 16 байт в динамической памяти.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: