Я изучаю компьютерную инженерию, и у меня есть курсы электроники. Я слышал от двух моих профессоров (из этих курсов), что можно избежать использования функции free() (после malloc(), calloc() и т.д.), Поскольку выделенные пространства памяти скорее всего не будут использоваться снова для выделения другой памяти. То есть, например, если вы выделите 4 байта, а затем отпустите их, у вас будет 4 байта пространства, которые скорее всего не будут выделены снова: у вас будет отверстие.
Я думаю, что сумасшедший: у вас не может быть не-игрушка-программа, где вы выделяете память на кучу, не выпуская ее. Но у меня нет знаний, чтобы точно объяснить, почему это так важно, что для каждого malloc() должен быть free().
Итак: существуют ли когда-либо обстоятельства, при которых может быть целесообразно использовать malloc() без использования free()? А если нет, то как я могу объяснить это своим профессорам?