когда вы malloc()
памяти, все, что он делает, - это ищет свободное место в памяти и отслеживает, как оно используется. Это не инициализирует это или что-то еще.
при вызове free()
все, что он делает, это очищает этот блок памяти из списка используемых блоков памяти. Снова это не изменяет содержание.