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 |