En considérant que la mémoire est divisée en quatre segments : les données, le tas, la pile et le code, où sont stockés en mémoire les variables globales, les variables statiques, les types de données constants, les variables locales (définies et déclarées dans les fonctions), les variables (dans la fonction principale), les pointeurs et l'espace alloué dynamiquement (à l'aide de malloc et calloc) ?
Je pense qu'ils seraient répartis comme suit :
- Variables globales -------> données
- Variables statiques -------> données
- Types de données constants -----> code
- Variables locales (déclarées et définies dans les fonctions) --------> pile
- Variables déclarées et définies dans la fonction principale -----> heap
- Les pointeurs (par exemple,
char *arr
,int *arr
) -------> tas - Espace alloué dynamiquement (en utilisant malloc et calloc) --------> pile
Je me réfère à ces variables uniquement du point de vue du C.
Veuillez me corriger si je me trompe car je suis nouveau dans le domaine du C.