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

From Wikibooks, open books for an open world
Jump to: navigation, search

Contents

[edit] Standard C Memory Management

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.

[edit] calloc

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

[edit] free

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

[edit] malloc

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

[edit] realloc

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
Personal tools
Namespaces
Variants
Actions
Navigation
Community
Toolbox
Sister projects
Print/export