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 失败,原指针仍有效
在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条