malloc(0)

最近看到一个很奇怪的问题,就是malloc(0),返回的却不是NULL,但是free这块内存时却报错。 程序跑起来的内存可以分为栈和堆,栈有自己的机器指令,是一个先进后出的数据结构,我就在这里不再过多解释了,malloc分配的内存是堆内存,由于堆没有自己的机器指令,所以要有系统自己编写算法来管理这片内存,通常的做法是用链表,在每片被分配的内存前加个表头,里面存储了被分配内存的起始地址和大小,你的m
相关文章
相关标签/搜索