关于可变数组的一些问题

大佬们 我想问一下就是array_creat这个函数不是用来创建一个数组的吗?里面的init_size就是该数组的大小 那么为什么这里就有两个参数呢?

img

两个参数的应该是复制构造,就是创建时以某个已有的数组为模板,而不是一个空数组

Array * array_create(Array * a, int init_size)这里应该是一个重载的函数。猜测他的作用是:
当a的大小不够时,传入a,然后传入新的大小,重新申请一块内存(可能是在a的基础上扩充,也可能是重新申请一块内存,然后把a的内容复制到新的内存空间,然后释放a的内存空间)