Subscribe via Email

Enter your email address to subscribe and receive notifications of new content by email.

Standard C Memory Management

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

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


#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.


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

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


#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.


#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.

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.
FacebookTwitterGoogle+PinterestTumblrStumbleUponRedditLinkedInWhatsAppBibSonomyDeliciousDiggDiigoSina WeiboWordPressBlogger PostShare

Leave a Reply





You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>