代码点读机 / C / realloc

realloc C · 内存管理

把已经申请的内存块改成新的大小,可能搬到新地址。

怎么用

指针 = realloc(原指针, 新字节数);

小例子

#include <stdio.h>
#include <stdlib.h>
int main(void) {
    int* p = malloc(10);
    if (p) {
        int* q = realloc(p, 20);
        if (q) p = q;
        free(p);
    }
    return 0;
}

运行结果

把 p 指向的内存扩到 20 字节

提醒:地址可能变,要接返回值;若 realloc 失败,原指针仍有效

官方文档:https://en.cppreference.com/w/c/memory/realloc

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条