C++ Programming/Code/Standard C Library/Memory
Standard C Memory Management
[edit | edit source]This section covers memory management elements from the Standard C Library.
calloc
[edit | edit source]Syntax |
#include <cstdlib>
void *calloc( size_t num, size_t size);
|
The function calloc() allocates a block of memory that can store an array of num cells, each with a size size. Every cell of the array is set to value zero.
If the operation fails, calloc() returns "NULL".
EXAMPLE:
ptr = (float*)calloc(25, sizeof(float));
/* It would create an array of 25 cells, each one with a size of 4 bytes
“(sizeof(float))”, all the cells initialized with value 0 */
free
[edit | edit source]Syntax |
#include <cstdlib>
void free( void *p);
|
The function free() releases a previously allocated block from a call to calloc, malloc, or realloc.
malloc
[edit | edit source]Syntax |
#include <cstdlib>
void *malloc( size_t s );
|
The function malloc() allocates a block of memory of size s. The memory remains uninitialized.
If the operation fails, malloc() returns NULL.
realloc
[edit | edit source]Syntax |
#include <cstdlib>
void *realloc( void *p, size_t s);
|
The function realloc() resizes a block created by malloc() or calloc(), and returns a pointer to the new memory region.
If the resize operation fails, realloc() returns NULL and leaves the old memory region intact.