C++ Programming/Code/Standard C Library/Functions/memset
memset
editSyntax |
#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 |