4 réponses
Salut,
Un programme C est organisé en mémoire de la façon suivante :
Au moment de l'exécution de programme,on a 4 zones
- pour le code
- pour les données statiques
- un tas
- une pile
La zone pour le code contient toutes les instructions machine exécutées pendant que le programme tourne.
La zone de donnée statiques contient les données qui sont disponibles pendant la durée de vie de programme - les variables globales et les variables locales statiques.
Le tas contient tous les bloc mémoires alloués de façon dynamique (voir la fonction malloc)
La pile contient des informations sur tous les appels de fonctions.
A savoir que par conventions le tas avance de bas vers le haut de la mémoire et la pile de haut de même mémoire vers le bas. Toute fois en réalité les choses peuvent peuvent varier)
Un programme C est organisé en mémoire de la façon suivante :
Au moment de l'exécution de programme,on a 4 zones
- pour le code
- pour les données statiques
- un tas
- une pile
La zone pour le code contient toutes les instructions machine exécutées pendant que le programme tourne.
La zone de donnée statiques contient les données qui sont disponibles pendant la durée de vie de programme - les variables globales et les variables locales statiques.
Le tas contient tous les bloc mémoires alloués de façon dynamique (voir la fonction malloc)
La pile contient des informations sur tous les appels de fonctions.
A savoir que par conventions le tas avance de bas vers le haut de la mémoire et la pile de haut de même mémoire vers le bas. Toute fois en réalité les choses peuvent peuvent varier)