gpt4 book ai didi

c++ - 在C中什么情况下函数realloc会返回Null?

转载 作者:行者123 更新时间:2023-11-30 21:49:06 25 4
gpt4 key购买 nike

Realloc 用于调整先前分配的内存块的大小?什么情况下该函数调用会返回空值?

最佳答案

realloc函数无法获得更多内存来将 block 扩展到您要求的大小时。这要么是因为实际上没有可用内存,要么是虚拟空间已耗尽(例如,具有 16GB RAM 的 64 位计算机上的 32 位应用程序仍然无法使用超过 4GB 的进程空间)。

如果新大小为 0,它也可能返回 NULL。

请注意,在 Linux(可能还有其他操作系统)中,当在内存有限(即内存大小小于虚拟内存大小)的系统上运行时,您的进程更有可能被 OOM 杀死 - killer 比收到一个 NULL 指针。

关于c++ - 在C中什么情况下函数realloc会返回Null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23949426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com