Initialiser tous les éléments d'une structure

[Résolu]
Signaler
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006
-
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006
-
Bonjour,
ya -t-il une methode qui permet d'initialiser tous les éléments d'une structure ?

Jaimerais dans ce cas précis initialiser tous les membres de ma structure à zero et j'aimerais bien éviter de les écrire un par un. Alors si une boucle est connue, basée dans le type structure, en permettant de parcourir les éléments un à un, jaimerais bien connaître.;

Merci beaucoup d'avance

4 réponses

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
struct MyStruct
{
...
}

2 possibiltés :

-lors de la déclaration
MyStruct m = {0};

- en cours de prog :
memset(&m, 0, sizeof(MyStruct);
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006

aparement 'm' serait l'instance de la structure donc si j'ai bien compris,

le fait de faire : memset(&m, 0, sizeof(MyStruct); réinitialise -t-il tous les éléments et cela sans faire de boucle ?
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
memset est une boucle sur les octets de la structures pour leur donner la valeur 0.
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006

Merci beaucoup pour ta réponse :
memset(&m, 0, sizeof(MyStruct);

J'attendais d'avoir une structure composée de plusieurs types différents pour valider ta réponse.