预处理命令
#include<stdio.h>
#include<stdlib.h>
原理解析
这里引入stdlib.h,目的是使用realloc,free函数
通过使用向内存在内存堆上申请空间
实现数组变长
realloc函数解析
realloc 函数文档
函数概要:
-
realloc 函数修改 ptr 指向的内存空间大小为 size 字节。
-
如果新分配的内存空间比原来的大,则旧内存块的数据不会发生改变;如果新的内存空间大小小于旧的内存空间,可能会导致数据丢失,慎用!
-
该函数将移动内存空间的数据并返回新的指针。
-
如果 ptr 参数为 NULL,那么调用该函数就相当于调用 malloc(size)。
-
如果 size 参数为 0,并且 ptr 参数不为 NULL,那么调用该函数就相当于调用 free(ptr)。
-
除非 ptr 参数为 NULL,否则 ptr 的值必须由先前调用 malloc、calloc 或 realloc 函数返回。
函数原型:
#include <stdlib.h>
...
void *realloc(void *p