La limite dans un tableau d'union
houda LR
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai déclarer un tableau dont chaque élément est une union:
struct élément
{
char nom;
int type;
int valeur;
};
je veux faire une boucle,mais je ne sais pas ou je vais m'arrêter ,je crois que la solution se fait avec le caractère '\0',mais je n'arrive pas à la réaliser.
voulez vous me donner un coup de main???
j'ai déclarer un tableau dont chaque élément est une union:
struct élément
{
char nom;
int type;
int valeur;
};
je veux faire une boucle,mais je ne sais pas ou je vais m'arrêter ,je crois que la solution se fait avec le caractère '\0',mais je n'arrive pas à la réaliser.
voulez vous me donner un coup de main???
A voir également:
- La limite dans un tableau d'union
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
1 réponse
Bonjour houda LR,
Ce que tu montres est une struct, pas une union.
Si tu crées dans ton code un tableau de struct, tu dois savoir quelle est la taille maximale du tableau créé.
Si tu veux utiliser une partie de la capacité de stockage du tableau et que tu veux savoir où s'arrête ton tableau :
- tu peux éventuellement stocker cette information dans une variable séparée ayant la même portée que ton tableau. Cela te permet de savoir à tout instant la taille de ta structure de données, sans avoir à la parcourir.
- ou tu peux décider, par convention, qu'une certaine valeur dans ta struct indiquera une struct "vide", constituant un marqueur indiquant la fin de ton tableau.Tu es libre de décider de n'importe quelle convention, pourvu que tu sois sûre de ne pas la confondre avec une struct comportant des données valides. En pratique, cela veux dire que tu dois initialiser ton tableau avec ces valeurs "vides" avant toute utilisation.
Note que tu ne pourras donner à ta struct une étiquette avec des accents (comme "struct élément") et que dans ta struct, le membre "char nom;" ne pourra stocker qu'un seul caractère (ce qui est insuffisant pour stocker un "nom").
Dal
Ce que tu montres est une struct, pas une union.
Si tu crées dans ton code un tableau de struct, tu dois savoir quelle est la taille maximale du tableau créé.
Si tu veux utiliser une partie de la capacité de stockage du tableau et que tu veux savoir où s'arrête ton tableau :
- tu peux éventuellement stocker cette information dans une variable séparée ayant la même portée que ton tableau. Cela te permet de savoir à tout instant la taille de ta structure de données, sans avoir à la parcourir.
- ou tu peux décider, par convention, qu'une certaine valeur dans ta struct indiquera une struct "vide", constituant un marqueur indiquant la fin de ton tableau.Tu es libre de décider de n'importe quelle convention, pourvu que tu sois sûre de ne pas la confondre avec une struct comportant des données valides. En pratique, cela veux dire que tu dois initialiser ton tableau avec ces valeurs "vides" avant toute utilisation.
Note que tu ne pourras donner à ta struct une étiquette avec des accents (comme "struct élément") et que dans ta struct, le membre "char nom;" ne pourra stocker qu'un seul caractère (ce qui est insuffisant pour stocker un "nom").
Dal