手把手透析 C 语言堆内存申请 malloc 及扩容 realloc
官方文档
Following is the declaration for malloc() function.
复制代码
Following is the declaration for realloc() function.
复制代码
实测与透析
new_size 比 size 小的情况测试
复制代码
new_size 比 size 大,但是 p 后面还有富余
p 后面还有空闲的 memory block 可供延续,这个是不会自动释放 p 的
如 p 原来是 10 个,现在 newsize 是 20 个,则会在 p 后面再追加申请 10,一起构成新的 newsize(10+10 = 20 );p 和 temp_p 还是指向同一块 block;】
复制代码
new_size 的值太大了,p 后面已经没有什么富余了
复制代码
欢迎留言讨论^_^
版权声明: 本文为 InfoQ 作者【卓丁】的原创文章。
原文链接:【http://xie.infoq.cn/article/a129ac7cc888f967972aaab03】。文章转载请联系作者。
评论