En C, la fonction memset () est utilisée pour définir une valeur à un octet sur un octet de bloc de mémoire par octet. Cette fonction est utile pour l'initialisation d'un octet de bloc de mémoire par octet par une valeur particulière. Dans cet article, nous verrons en détail comment cette fonction peut être utilisée. Alors, commençons.
En tête de fichier:
chaîne.HSyntaxe:
void * memset (void * str, int ch, size_t n)Cette fonction définit le premier n octets du bloc de mémoire pointé par Str par ch.
Arguments:
La fonction prend 3 arguments:
Valeurs de retour:
memset () Renvoie la première adresse du bloc de mémoire à partir de l'endroit où il commence à définir la valeur.
Exemples:
//Exemple 1.c
Dans l'exemple1.C, nous avons déclaré un tableau de caractères de taille 30. Ensuite, nous l'avons initialisé avec la chaîne «ABCD EFGH."Dans la fonction memset, nous avons passé 3 arguments Str, 'x' et 3. Ainsi, le bloc de mémoire pointé par STR sera réinitialisé les 3 premiers caractères par 'x.'Après Memset, lorsque nous imprimerons la mémoire, nous obtiendrons «xxxd efgh."
Dans l'exemple2.C, nous avons passé la fonction STR + 4 à Memset. Donc, il réinitialise la mémoire après le 4ème emplacement de Str. Après Memset, lorsque nous imprimerons la mémoire, nous obtiendrons «ABCDXXXGH."
Dans l'exemple3.C, nous avons déclaré un tableau entier de taille 5 et essayer de l'initialiser par 10. Mais à partir de la sortie, nous avons vu que le tableau n'est pas initialisé par 10; Au lieu de cela, nous avons la valeur «168430090». En effet. Maintenant, nous verrons comment nous obtiendrons la valeur «168430090».
La représentation binaire de 10 est 00000000 00000000 00000000 00001010.
Lorsque entier converti en char non signé, le 1 octet inférieur est considéré. Ainsi, lorsque 10 est converti en char non signé, c'est une représentation binaire est 00001010.
La fonction memset () définit l'octet d'emplacement de mémoire par octet. Ainsi, un total de 4 octets sera: 00001010 00001010 00001010 00001010.
La valeur décimale de la représentation binaire de 4 octets est 168430090.
// Exemple4.c
Dans l'exemple4.C, nous avons initialisé le tableau entier de 0. Tous les bits de la représentation binaire de 0 sont 0. Donc le tableau est initialisé par 0.
Dans l'exemple5.C, nous avons initialisé le tableau entier de 0. Tous les bits de la représentation binaire de -1 sont 1. Donc le tableau est initialisé par -1.
Conclusion:
Dans cet article, nous avons vu en utilisant la fonction MEMSET comment nous pouvons initialiser ou définir efficacement la valeur d'un bloc de mémoire. Nous pouvons définir n'importe quel caractère et 0 ou -1 comme valeur entière sur un bloc de mémoire. La fonction MEMSET est plus rapide pour définir un grand morceau de mémoire contigu par rapport à la simple définition de l'emplacement à l'aide d'une boucle.