VMS Help
CRTL, realloc
*Conan The Librarian
|
Changes the size of the area pointed to by the first argument to
the number of bytes given by the second argument. These functions
are AST-reentrant.
Format
#include <stdlib.h>
void *realloc (void *ptr, size_t size);
The realloc function has variants named _realloc32 and _realloc64
for use with 32-bit and 64-bit pointer sizes, respectively.
ptr
Points to an allocated area, or can be NULL.
size
The new size of the allocated area.
If ptr is the NULL pointer, the behavior of the realloc function
is identical to the malloc function.
The contents of the area are unchanged up to the lesser of the
old and new sizes. The ANSI C Standard states that, "If the
new size is larger than the old size, the value of the newly
allocated portion of memory is indeterminate." For compatibility
with old implementations, Compaq C initializes the newly
allocated memory to 0.
For efficiency, the previous actual allocation could have been
larger than the requested size. If it was allocated with malloc,
the value of the portion of memory between the previous requested
allocation and the actual allocation is indeterminate. If it was
allocated with calloc, that same memory was initialized to 0. If
your application relies on realloc initializing memory to 0, then
use calloc instead of malloc to perform the initial allocation.
The maximum amount of memory allocated at once is limited to
0xFFFFD000.
See also free, cfree, calloc, and malloc.
x The address of the area, quadword-
aligned (Alpha only) or octaword-aligned
(Integrity servers(ONLY)) . The address is
returned because the area may have to be moved
to a new address to reallocate enough space.
If the area was moved, the space previously
occupied is freed.
NULL Indicates that space cannot be reallocated
(for example, if there is not enough room).