Bonsoir, j'ai un petit soucis en C.
Dans mon main je déclare une pile d'entiers que j'initialise à pilenouv();
et j'embarque mon pointeur de la pile sur chaque fonction.
j'ai une fonction qui traite les choix pour un menu avec switch case qui prend en parametre cette pile que j'ai initialisée dans mon main().
elle est de la forme.
la pile qui est pourtant un pointeur passé en parametre de toutes les fonctions n'a pas l'air d'etre modifiée une fois sorti du menu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Bool choice(char s,pile p) { switch(s) { case 'e': p=empiler(p,12); printf("p->n vaut %d",p->n); // affiche bien 12 printf("la hauteur est %d",hauteur(p)) // affiche 1 default : printf("test"); } return true; }
Si je revien dans le meme menu pour empiler encore j'obtiens les meme valeur de printf (meme 1 pour la hauteur), ce qui signifie qu'en sortant du menu la pile n'a pas été modifiée.
si quelqu'un à une explication à mon problème, elle est la bienvenue![]()
Partager