memset

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

Related Topics: memcmp, memcpy, memmove