Traductions de cette page?:

memset

Syntaxe :

    #include <cstring>
    void* memset (void* buf, int c, size_t nb);

La fonction memset() copie le caractère c dans les nb premiers emplacements mémoire de buf.

La valeur de retour de memset() est un pointeur vers buf.

Cette fonction est utile pour initialiser une section de mémoire à une certaine valeur ; par exemple, le bout de code suivant :

     const int TAILLE_TAB = 300;
     char tab[TAILLE_TAB];
     ...
     // réinitialise le contenu de tab
     memset(tab, '\0', TAILLE_TAB);

… est un moyen très efficace de réinitialiser le contenu de tab.

Le tableau ci-dessous compare deux méthodes différentes pour initialiser un tableau de caractères : une boucle for contre la fonction memset().

Taille du tableau Initialisation avec une boucle for Initialisation avec memset()
1000 0.016 0.017
10000 0.055 0.013
100000 0.443 0.029
1000000 4.337 0.291

Remarquez que lorsqu'on augmente la taille du tableau à initialiser, memset() réalise cette opération bien plus rapidement que la boucle for.

Related Topics: memcmp, memcpy, memmove