bonjour
Afin de comprendre le fonctionnement d'une pile d'execution je souhaite analyser un petit programme afin d'en comprendre le fonctionnement :
Ce que je voudrais c'est : Dessiner l'état de la pile pour les appels de f(4,&x) et f(0,y) après le "else" et commenter ce dessin :
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 void f(int x, int * y){ if(x==0) (*y)=1; else { f(x-1, y); (*y) = (*y) * x; } } int main(void){ int x; x=4; f(x, &x); return 0; }
- en decoupant la pile en bloc qui représentent les environnements d'exécution de chaque appel
- en expliquant de quoi est composé un bloc
Enfin, je voudrais comprendre comment est effectuée l'affectation :
Si quelqu'un peut m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (*y) = (*y) * x
Merci d'avance
Partager