REALLOC - change size of allocated space.
(ANSI Standard)
Usage:
#include <stdlib.h>
newp = realloc( oldp, size );
Where:
- void *oldp;
- points to region of memory previously allocated by
"malloc" or "calloc".
- size_t size;
- is the new size desired for the allocated memory.
- void *newp;
- points to the reallocated memory. This may be the same as
"oldp" if the old block of memory could be
grown (or shrunk) to the new size; otherwise, it will be
a different block. The space begins at an alignment
boundary that is suitable for storing objects of any data
type. If memory cannot be acquired or if an argument is
improperly specified, the NULL pointer is returned.
Description:
"realloc" changes the size of a block of memory
previously allocated via "malloc" or
"calloc". Logically "realloc" behaves like:
newp = malloc(size);
if (NULL != newp) {
memcpy(newp, oldp, min(size, oldsize));
free(oldp);
}
return(newp);
However, if the space is available, the operation may instead
be done in place bypassing the alloc/copy/free actions.
Notes:
The following calls have the same effect:
realloc(NULL,size)
malloc(size)
See Also:
expl c lib malloc
expl c lib calloc
expl c lib free
Copyright © 1996, Thinkage Ltd.