Jump to content

C++ Programming/Code/Standard C Library/Functions/memset

From Wikibooks, open books for an open world

memset

[edit | edit source]
Syntax
#include <cstring>
void* memset( void* buffer, int ch, size_t count );

The function memset() copies ch into the first count characters of buffer, and returns buffer. memset() is useful for intializing a section of memory to some value. For example, this command:

const int ARRAY_LENGTH;
char the_array[ARRAY_LENGTH];
...
// zero out the contents of the_array
memset( the_array, '\0', ARRAY_LENGTH );

...is a very efficient way to set all values of the_array to zero.

The table below compares two different methods for initializing an array of characters: a for loop versus memset(). As the size of the data being initialized increases, memset() clearly gets the job done much more quickly:

Input size Initialized with a for loop Initialized with memset()
1000 0.016 0.017
10000 0.055 0.013
100000 0.443 0.029
1000000 4.337 0.291
Related topics
memcmp - memcpy - memmove