Initialiser tous les éléments d'une structure

Résolu
cs_psycomel
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006
- 11 janv. 2005 à 10:10
cs_psycomel
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006
- 10 févr. 2005 à 09:27
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

ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
7
11 janv. 2005 à 10:40
struct MyStruct
{
...
}

2 possibiltés :

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

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

11 janv. 2005 à 11:40
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 ?
0
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
7
11 janv. 2005 à 14:17
memset est une boucle sur les octets de la structures pour leur donner la valeur 0.
0
cs_psycomel
Messages postés
128
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
24 octobre 2006

10 févr. 2005 à 09:27
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.
0