本文共 421 字,大约阅读时间需要 1 分钟。
昨天接到腾讯面试官的电话面试,面试官问了我一个问题,
malloc分配的空间地址连续么?
我先回答:逻辑地址连续,物理地址不一定连续。
你讲讲malloc怎么实现的?
就不是很熟悉了,于是网上看了几篇博客,觉得这一篇讲的很好,于是转载了过来。
面试过后,心知自己知识浅薄,要努力加强的地方还有很多。
malloc()函数其实就在内存中找一片指定大小的空间,然后将这个空间的首地址范围给一个指针变量,这里的指针变量可以是一个单独的指针,也可以是一个数组的首地址,这要看malloc()函数中参数size的具体内容。我们这里malloc分配的内存空间在逻辑上连续的,而在物理上可以连续也可以不连续。对于我们程序员来说,我们关注的是逻辑上的连续,因为操作系统会帮我们安排内存分配,所以我们使用起来就可以当做是连续的。
详细实现请移至:https://www.cnblogs.com/Commence/p/5785912.html