calloc(N,type) allocates N copies of a type, and zeroes the memory.
calloc(N,type)
realloc(p, new_size) reallocates p to use new_size bytes. It could expand in place, or it could allocate a new buffer and copy the contents over. You don't know.
realloc(p, new_size)
p
new_size