malloc(0)分配零大小内存是否会导致内存地址冲突?
关于
malloc(0)的逻辑思考 我觉得malloc(0)返回非NULL值时分配零大小内存块的设计完全违反直觉。
由于两次malloc调用绝不允许返回相同地址,这类零大小的内存分配实际上至少得占用1字节空间——只有这样,才能确保后续的malloc调用不会和进程生命周期内任何一次malloc(0)返回的地址产生冲突。
否则就会出现矛盾:一次malloc(0)调用和一次非零大小的malloc调用可能返回相同的基地址,但同一个内存位置不可能对应两个不同大小的内存块。
内容的提问来源于stack exchange,提问作者tbhaxor
相关产品推荐
相关产品推荐

