-
Oui c'est à peu prés ca. Pour être précis le problème n'est pas juste lié à la fonction main();. Il faut toujours avoir en tête la portée des variables que l'on manipule :
- celles déclarées dans une fonction quelconque, donc locales (on dit alors qu'elles sont allouées dans la pile),
- celles allouées en dynamique via un malloc(); ou dérivé (on dit alors qu'elles sont allouées dans le tas).
Les locales sont libérées une fois la fonction terminée au contraire de celles allouées dans le tas qu'il faut libérer de manière explicite avec un free();.
-
ok merci pour tes réponses, c'est déjà plus clair dans ma tête.
Il ne me reste plus que de pratiquer.