扩展现有的内存,而且前面分配的内存和后面扩展的内存虚拟地址必然是连续的

原地址后面有足够空间,直接扩展

原地址后面没有空间,分配器会申请一块新的、更大的连续区域,原来的地址都会集体迁移。

int *a = malloc(4 * sizeof(int));
int *b = realloc(a, 8 * sizeof(int));
//直接用b就好