Memory Allocation Routines
Use the memory allocation functions to specify, allocate, and free blocks of memory from a memory pool. All memory allocation functions are implemented as functions and are prototyped in the stdlib.h include file.
| Routine | Attributes | Description |
|---|
| calloc, fcalloc, xcalloc | | Allocates storage for an array from the memory pool. |
| free, ffree, xfree | | Frees a memory block that was allocated using calloc, malloc, or realloc. |
| init_mempool | | Initializes the memory location and size of the memory pool. |
| malloc, fmalloc, xmalloc | | Allocates a block from the memory pool. |
| realloc, frealloc, xrealloc | | Reallocates a block from the memory pool. |
Before using any of these functions to allocate memory, you must first specify the size and location of the memory pool using the init_mempool routine. All memory requests are satisfied using this memory block.
The calloc and malloc routines allocate blocks of memory from the pool. The calloc routine allocates an array with a specified number of elements of a given size and initializes the array to 0. The malloc routine allocates a specified number of bytes.
The realloc routine changes the size of an allocated block while the free routine returns a previously allocated memory block to the memory pool.