在C语言中,函数realloc在什么情况下会返回Null ?
In C under what circumstances would the function realloc return Null?
Realloc用于调整先前分配的内存块的大小?在什么情况下这个函数调用会返回一个空值?
当realloc
函数无法获得更多内存来将块扩展到您所要求的大小时。这可能是因为没有可用的内存,或者虚拟空间已经耗尽(例如,在64位机器上使用16GB RAM的32位应用程序仍然不能使用超过4GB的进程空间)。
如果新大小为0,它也可能返回NULL。
请注意,在Linux(可能还有其他操作系统)中,当运行在内存有限(即内存大小小于虚拟内存大小)的系统上时,您的进程更有可能被OOM-killer杀死,而不是接收到NULL指针。
CLICK [1]: http://www.cplusplus.com/reference/cstdlib/realloc/?kw=realloc
如果函数分配请求的内存块失败,则返回空指针,并且ptr参数所指向的内存块不会被释放(它仍然有效,其内容不变)。
相关文章:
- 如何在不销毁对象的情况下返回对象列表
- 串行读取()不会在没有数据接收的情况下返回值
- 在开关情况下返回布尔值
- 范围分辨率运算符在类型:: var的情况下返回什么
- -std=c++0x 导致在 boost 1.64 的情况下返回对临时的引用
- 如何在不转换回基类类型的情况下返回派生类型的对象?
- 在没有 RVO 的情况下返回类/结构时会发生什么?
- 在给定表达式的情况下返回对类型的引用时出错:“cond ?*这个 : 投掷()'
- 返回 1 在阶乘的情况下返回 0
- 如何在不取消引用指针的情况下返回指针指针值?
- 如何使minmax_element在平局的情况下返回索引最少的元素
- 在没有读取权限 c++ 的情况下返回大小文件
- 如何在没有显式方法声明的情况下返回值
- 如何在没有编译器警告的情况下返回对空字符串的 const 引用?
- 我不能在不使用指针的情况下返回 2d 数组!我正在制作一个井字游戏类型游戏,这是我的向上移动功能
- 如何在没有指针的情况下返回动态结构
- 如何在<T>没有 if 语句的情况下返回可选?
- 如何在成功或失败的情况下返回std::copy的值
- glDrawElements()在无效情况下返回GL_INVALID_ENUM
- 在没有移动函数的情况下返回不可复制对象的解决方法