Bonsoir
J'ai fait une structure qui doit représenter un entier grace a sa valeur sous forme de chaine de caractère et le nombre de chiffres de cet entier.
Dans une main, je l'initialise en appelant une autre fonction, puis je modifie cet entier en "concaténant" 1 a la fin de celui-ci.
Mais voila, rien ne marche
Peu importe la valeur de l'initialisation, les paramètres de la structure restent a 0.
Voici la partie du code concernée (répartie en fait dans plein de fichiers)
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
 
typedef struct {
	char *valeur;
	int nbchiffres;
} ValeurCourante;
 
int main(int argc, char **argv) {
 
	ValeurCourante *d;
	d=malloc(sizeof(ValeurCourante)); 
 
	InitValeurCourante(*d);
	printf("Initialisation -> valeur : %d, nbchiffres : %d \n", (d->valeur), d->nbchiffres);
	init_display(argc, argv, d);
	MainLoop();
	free(d);
	return 0;
}
 
void InitValeurCourante(ValeurCourante vc) {
	vc.valeur="999";/* vc.valeur un pointeur vers la valeur 999*/
	vc.nbchiffres=12;
}
 
void ajouter1(ValeurCourante vc) {
	vc.valeur="1";
	vc.nbchiffres++;
}
 
void ajouterChiffre1(Widget w, void *d) {
	/* d désigne la ValeurCourante */
	/* ajouter 1 a la ValeurCourante */
	ValeurCourante *t;
	t = (ValeurCourante *) d;
	ajouter1(*t);
	printf("valeur : %d, nbchiffres : %d \n", (int)t->valeur, t->nbchiffres);
}
J'espere avoir été assez clair
Je ne vois pas pourquoi tout ca reste constant.Si quelqu'un pouvait m'aider?