在数据结构中我们经常会用到realloc来动态分配空间,它是c语言的基础,在数据结构中也是很重要的。我们直接上realloc的使用情形。
1,传给realloc的指针为空时:
当调用realloc(p,size)时,如果传来的p为NULL此时realloc等价于malloc,而malloc返回分配的空间的首地址,因此这种特殊情况下用 p = (数据类型*)realloc(p,size),否则将找不到新分配的空间。
2,在原空间后面的空间区域足够时,直接扩容:
当realloc重新分配的空间小于p所指向空间加上其后还未开辟的空间时,则直接在原空间基础上扩容。
3, 在原空间后面空间区域不够时,间接扩容:
当realloc重新分配的空间小于p所指向空间加上其后还未开辟的空间时,则先重新找块更大的空间区域以满足分配要求,再开辟size大小空间,接着将原空间元