Maison >développement back-end >C++ >Pile ou tas : où se trouve une structure de données déclarée globalement en C ?
Allocation de mémoire en C : Stack vs. Heap pour les structures de données globales
Lors de la déclaration d'une structure de données globalement en C , la question se pose de savoir si il consomme de la mémoire de pile ou de la mémoire de tas. Pour bien comprendre cela, il est essentiel de comprendre les différents segments de mémoire qu'un processus utilise.
En général, un processus possède cinq zones de mémoire principales :
Revenant à la question d'origine, si une structure de données est déclarée globalement ( pas au sein d'une fonction), il sera alloué soit dans le segment data (données initialisées), soit dans le segment bss (données non initialisées), selon qu'il est initialisé ou non. Ces segments résident dans la mémoire statique, qui est généralement gérée par le système d'exploitation et n'est pas accessible au programme.
Par conséquent, les structures de données déclarées globalement en C ne consomment pas de mémoire de pile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!