Until today I lived in belief that calling free() on memory space releases it for further allocation without any other modifications. Especially, considering th
free() can actually return memory to the operating system and make the process smaller. Usually, all it can do is allow a later call to malloc to reuse the space. In the meantime, the space remains in your program as part of a free-list used internally by malloc.