【发布时间】:2015-02-21 13:42:58
【问题描述】:
如果使用malloc()为4个整数分配内存,应该不会返回第一个整数的内存地址吧?如果是这样,free() 不应该只从内存中释放第一个整数,而将所有其他整数留在后面吗?
【问题讨论】:
-
您是在问 C de 是否应该明确设计以造成内存泄漏?
-
我只是想知道它是如何工作的
-
不,你应该
free()整个块,事实上,如果你传递的指针不是由 *malloc()函数之一返回的,这是未定义的行为。 -
请写下你投反对票的原因:)
-
如果你想确切地知道它是如何工作的,谷歌
malloc.c并查看各种实现的来源......