Memset
Résolu/Fermé
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
-
Modifié le 7 mars 2022 à 17:37
Theo_0055 Messages postés 275 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 19 janvier 2023 - 24 févr. 2022 à 18:39
Theo_0055 Messages postés 275 Date d'inscription mardi 21 juillet 2020 Statut Membre Dernière intervention 19 janvier 2023 - 24 févr. 2022 à 18:39
6 réponses
yg_be
Messages postés
23422
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 janvier 2025
Ambassadeur
1 557
Modifié le 24 févr. 2022 à 09:22
Modifié le 24 févr. 2022 à 09:22
bonjour,
1) je pense que les deux sont équivalents
2) on ne sait pas, au départ, ce qu'il y a "dans" tab[0]
3) cela remplit les octets des 4 premiers
1) je pense que les deux sont équivalents
2) on ne sait pas, au départ, ce qu'il y a "dans" tab[0]
3) cela remplit les octets des 4 premiers
intdu tableau.
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
Modifié le 7 mars 2022 à 17:39
Modifié le 7 mars 2022 à 17:39
3. Ça le remplit comment?
Par exemple si j’ai :
Ça renvoie pour
D’où vient ce chiffre ?
Par exemple si j’ai :
int tab1[] = {3, 4}; int tab2[] = {1, 2}; memset(tab1, 1, sizeof(int))
Ça renvoie pour
tab[0]et
tab[1]un nombre bizarre
16843009.
D’où vient ce chiffre ?
yg_be
Messages postés
23422
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 janvier 2025
1 557
24 févr. 2022 à 11:55
24 févr. 2022 à 11:55
Cela donne quoi en hexadécimal?
As-tu une idée de la représentation en memoire des entiers?
As-tu une idée de la représentation en memoire des entiers?
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 11:58
24 févr. 2022 à 11:58
Ça donne 01010101
yg_be
Messages postés
23422
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 janvier 2025
1 557
24 févr. 2022 à 12:41
24 févr. 2022 à 12:41
Ce qui montre bien les 1 dans chaque octet.
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 13:17
24 févr. 2022 à 13:17
Merci j’ai compris
Pour voir si j’ai compris si à la place de 4 j’avais mis 2,esceque cela veut dire que ça rempli 2 octets avec la valeur 1 et on aurait obtenu 01010000?
Pour voir si j’ai compris si à la place de 4 j’avais mis 2,esceque cela veut dire que ça rempli 2 octets avec la valeur 1 et on aurait obtenu 01010000?
yg_be
Messages postés
23422
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 janvier 2025
1 557
24 févr. 2022 à 13:48
24 févr. 2022 à 13:48
Eh bien, cela dépend du processeur, et parfois du logiciel.
C'est pour cela qu'il est recommandé d'éviter de travailler sur les octets d'un nombre.
Plus d'informations: https://fr.wikipedia.org/wiki/Boutisme
C'est pour cela qu'il est recommandé d'éviter de travailler sur les octets d'un nombre.
Plus d'informations: https://fr.wikipedia.org/wiki/Boutisme
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
Modifié le 7 mars 2022 à 17:40
Modifié le 7 mars 2022 à 17:40
Ok merci donc c’est pour cela memset on l’utilise pas souvent
Une dernière chose
Si on a :
Comment ça se fait ça met \0 à la fin de buffer ?
Moi je pensais que ça allait remplir les 10 premiers octets avec
Une dernière chose
Si on a :
char buffer[10]; memset(buffer, ’\0’, 10)
Comment ça se fait ça met \0 à la fin de buffer ?
Moi je pensais que ça allait remplir les 10 premiers octets avec
´\0’.
yg_be
Messages postés
23422
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 janvier 2025
1 557
24 févr. 2022 à 14:09
24 févr. 2022 à 14:09
Je pense aussi que cela remplit les 10 premiers octets avec ´\0’.
Je me demande si tu as correctement examiné le contenu de buffer.
Peut-être qu'il y a une confusion sur "la fin de buffer"...
Je me demande si tu as correctement examiné le contenu de buffer.
Peut-être qu'il y a une confusion sur "la fin de buffer"...
Theo_0055
Messages postés
275
Date d'inscription
mardi 21 juillet 2020
Statut
Membre
Dernière intervention
19 janvier 2023
1
24 févr. 2022 à 18:39
24 févr. 2022 à 18:39
Merci finalement j'ai compris