Last modified on 14 May 2009, at 06:10

C++ Programming/Code/Standard C Library/Memory

Standard C Memory ManagementEdit

This section will cover memory management elements from the Standard C Library.

Note:
It is recommended to use the new and delete operators instead of these functions, as they provide additional control over the creation of objects.

callocEdit

Syntax
#include <cstdlib>
void *calloc( size_t num, size_t size);

The function calloc() allocates a block of memory that can store num objects of size size. In addition, the block of memory allocated is set to all zeros.

If the operation fails, calloc() returns NULL.

Related topics
free - malloc - realloc

freeEdit

Syntax
#include <cstdlib>
void free( void *p);

The function free() releases a previously allocated block from a call to calloc, malloc, or realloc.

Related topics
calloc - malloc - realloc

mallocEdit

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.

Related topics
calloc - free - realloc

reallocEdit

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.

Note:
realloc() does not have a corresponding operator in C++ - however, this is not required since the standard template library already provides the necessary memory management for most usages.

Related topics
calloc - free - malloc