Bru*_*uce 1 c memory-management
可能重复:
malloc()和free()如何工作?
我读到某处使用相同的指针参数自由调用两次导致未定义的行为.那么免费如何知道它必须释放多少内存?当我们调用malloc/calloc/realloc时,堆是否总是分配连续的内存?请提供相关文章/帖子/博客等的链接.
如何malloc和free工作是实现定义.通常,有关内存块的信息将存储在下面的标题中ptr.但不一定.
关于伟大的事情malloc,并free是,你不需要知道他们是如何工作的.系统会为您处理细节.
我读到某处使用相同的指针参数自由调用两次导致未定义的行为.为了理解这一点,我必须首先知道免费是如何工作的?
我不确定我同意这个说法.您只需遵循该规则即可.
当我们调用malloc/calloc/realloc时,堆是否总是分配连续的内存?
如果你的意思是返回的内存块在地址空间中是连续的,那么是的就是这样.如果你的意思是连续的分配是顺序的,那么没有.