Boujour,
je voudrais svp savoir quant est ce qu'on utilise structure, union et enum.
Et si possible les amis, vous me donner un exercice pour voir.
Merci et bientôt.
 structure, union et énumération
 structure, union et énumération
				
				
						
						
				Boujour,
je voudrais svp savoir quant est ce qu'on utilise structure, union et enum.
Et si possible les amis, vous me donner un exercice pour voir.
Merci et bientôt.
 
 
				
				
						
						
				Une structure est une variable personnalisé qui contient plusieurs variables, qui peuvent être de types différents.
Une énumération est une variable personnalisé qui peut prendre une des valeurs préparées.
 
 
				
				
						
						
				Tu te sers d'une structure pour gouper des variables qui sont associées. Par exemple, tu désires dans ton programme représenter un étudient. Cet étudient est décrit par son nom (chaîne de caractères), son prénom (chaîne de caractères), son école (chaîne de caractères) et son âge (unsigned int). Ainsi, on peut écrire le code suivant:
De cette manière, il t'est possible de manipuler un objet de type struct Etudient comme un tout:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
On peut créer des tableaux de struct Etudient afin de répertorier un ensembles d'étudients. On peut passer une variable de type struct Etudient à une fonction. Bref! Une structure est extrêmement pratique lorsqu'il s'agit de manipuler toutes les variables représentant un étudient comme un tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
En ce qui concerne les énumérations, on s'en sert lorsqu'une variable ne peut prendre qu'un nombre fini de valeurs entières. Exemple:
L'écriture ci-dessus est en fait équivalente à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part enum Jours {LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE};
Voici un exemple de programme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Il est important de garder à l'esprit que le compilateur ne fait en principe pas de vérification sur la valeur prise par une variable de type enum Jours, par exemple. Les enumérations sont également souvent utilisées pour définir des constantes symboliques représentées par des entiers, comme par exemple les codes d'erreurs retournés par les fonctions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Une union est une variable qui peut contenir des objets de taille et de types différents, mais pas au même moment. Soit l'unions suivante:
Ainsi, la variable u pourra contenir soit un int, soit un double, soit un pointeur sur char. La taille de u sera celle du plus grand de ses champs, et le compilateur fait ce qu'il faut pour que l'alignement soit compatible avec tous les types de l'union.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Ce qu'il est possible de faire avec une union:
C'est au programmeur de savoir quel type est contenu dans la variable u à chaque instant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
Ce qu'on ne peut pas faire avec une union:
Si l'on stocke une valeur d'un type donné dans la variable u, et qu'on y accède via un champ d'un autre type, le résultat dépend de l'implantation. Bien sûr il y a des exceptions, mais on va s'arrêter là pour le moment. N'hésite pas à poser des questions si tel ou tel aspet de l'utilisation des structures, des enumérations et des unions te semble obscure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
EDIT: Grillé par Emmanuel! Ca m'apprendra a laisser la rédaction d'un post en plan... Vu l'effort de rédaction, je poste tout de même.
Cordialement
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
 
 
				
				
						
						
				structEnvoyé par ngalla
Typiquement, une structure sert à regrouper des éléments qui peuvent être de types différents, mais que l'on manipule ensemble.
Exemple classique : le répertoire téléphonique.
On utilise une structure qui regroupe les données sous la forme d'un 'enregistrement' constitué de 'champs' :
Ca permet de créer un tableau de structure,
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
de le parcourir, de le trier, de chercher quelque chose dedans etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part struct enregistrement fichier[10];
Ca sert aussi à organiser les données de configuration d'un programme, à la constructions de structures de données évoluées (piles, files, listes etc.), à implémenter les types abstraits de données (ADT ou TAD).
Les applications sont innombrables...
enum
Usage méconnu et pourtant bien pratique. Ca permet de définir une série de valeurs constantes toutes différentes.
enum fruits {pomme, banane, mangue, orange, kiwi};
union
Les applications sont beaucoup plus rares. Associée à une structure et à un 'sélecteur', elles permettent, dans une même structure, de définir des champs de types différents, mais pas 'en même temps'. Selon la valeur du selecteur, il faudra interpréter le champs de telle ou telle façon.
On peut définir un sélecteur avec un enum :
etc. (non compilé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Partager