realloc
来自cppreference.com
在头文件 <stdlib.h> 中定义
|
||
void *realloc( void *ptr, size_t new_size ); |
||
重新分配给定的内存区域。该区域必须之前曾被malloc()
、calloc()
或realloc()
所分配并且未被free()
所释放,否则,其结果是未定义的。
重新分配以下面两者之一完成:
a) 扩大或收缩目前
ptr
所指向的区域,若可能的话。区域中的内容保持不变,直至到达新旧大小中较小的一个。如果区域被扩大,数组中新部分的内容是未定义的。b) 分配一个新的
new_size
字节大的内存块,将和新旧大小中较小的一个一样大的内存区域复制过来,并释放旧的块。如果内存不足,旧的内存块不会被释放并且返回空指针。
目录 |
[编辑] 参数
ptr | - | 指向要被重新分配的内存区域 |
new_size | - | 数组新的大小 |
[编辑] 返回值
指向新分配的内存开始位置的指针,或者在错误发生时为NULL。该指针必须用free()
释放。
[编辑] 示例
本章尚未完成 原因:暂无示例 |
[编辑] 参见
C++ documentation for realloc
|