Как хранится размер области, выделенный malloc()?
Зависит от компилятора и платформы.
Часто выделяется больше памяти чем нужно (скажем 44 байта) и в первых байтах пишется размер области памяти, пользователю возвращается, скажем память+4. То есть размер памяти хранится перед буфером отданым пользователю.
Как в паскале строки первый байт это длина