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 = 300; 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 |