Reallocate memory to newsize bytes, with extra memory initialized to zero.
Pointer to a previously allocated block (or NULL).
The new required size in bytes.
A pointer to a re-allocated block of newsize bytes, or NULL if out of memory.
If the newsize is larger than the original allocated size of p, the extra bytes are initialized to zero.