Fonction memset

Entête à inclure

#include <string.h>  // <cstring> en C++

Fonction memset

void * memset( void * pointer, int value, size_t count );

Cette fonction permet de remplir une zone mémoire, identifiée par son adresse et sa taille, avec une valeur précise.

Paramètres

  • pointer : permet de spécifier l'adresse du bloc mémoire à ré-initialiser.
  • value : indique la valeur à utiliser pour remplir le bloc de mémoire.
  • size : indique le nombre d'octets à initialiser.

Valeur de retour

Après exécution de la fonction, l'adresse de la mémoire ré-initialisée vous sera retournée (autrement dit la valeur du paramètre pointer).

Exemple de code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {

    int array [] = { 54, 85, 20, 63, 21 };
    size_t size = sizeof( int ) * 5;
    int length;

    /* Display the initial values */
    for( length=0; length<5; length++) {
        printf( "%d ", array[ length ] );
    }
    printf( "\n" );

    /* Reset the memory bloc */
    memset( array, 0, size );

    /* Display the new values */
    for( length=0; length<5; length++) {
        printf( "%d ", array[ length ] );
    }
    printf( "\n" );
    
    return 0;
}

Sujets connexes

memcmp
memcpy