Bonjour, Je voudrai effectuer une copie d'une structure qui contient elle même une structure.
Je compile dans les deux cas sans erreur mais je pense que c'est à cause de ca que mon programme ne marche pas. Car peu être tout les champs ne se copie pas bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
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 struct vext { void **vecteur; unsigned int taille_physique; unsigned int taille_rallongement; unsigned int nombre_d_elements; void (*liberer)(void *); void (*afficher)(void *); }; struct tas { vext vecteur; int dernier_element; int (*comparaison) (void *, void *); void (*liberer)(void *); void (*afficher)(void *); bool inverser; }; tas tas_creer(fonction_comparer f) { tas self = memoire_allouer(sizeof(struct tas)); self->vecteur = vext_creer(); self->comparaison = f; self->dernier_element= -1; self->liberer = NULL; self->afficher = afficher_chaine; self->inverser = false; return self; } void tas_afficher(tas self) { tas bob= tas_creer(self->comparaison); //peut on copier comme ca? bob = self; // ou comme ca? bob->vecteur = self->vecteur; bob->dernier_element = self->dernier_element; bob->liberer = self->liberer; bob->afficher = self->afficher; bob->inverser = self->inverser;
Quelle est la bonne méthode pour copier une structure?
Partager