Этот вопрос был задан мне в интервью.
Предположим, что char * p = malloc (n) назначает больше, чем n, скажем, N байтов памяти выделено, а free (p) используется для освобождения памяти, выделенной для p.
может ли менеджер кучи выполнить такое ошибочное распределение?
что происходит сейчас, будут освобождены n байтов или освобождены N байтов?
есть ли способ узнать, сколько памяти освобождено?
EDIT
Есть ли способ узнать, сколько памяти освобождено?
лучше, чем ничего,
mallinfo () может пролить некоторый свет, как указано "Фредом Ларсоном"