Magnus
El diseño de la memoria de un programa depende principalmente del sistema operativo, pero en general, hay un segmento de datos donde se almacenan todos sus datos globales / estáticos y constantes. La segunda es el código que contiene el código ejecutable en sí.
La tercera es el montón, que es una ranura de memoria libre desde la que se asigna memoria cada vez que usa malloc () / calloc (), etc. La
cuarta y última área es la pila. Stack se usa para almacenar sus variables locales y se usa para pasar argumentos a las funciones junto con la dirección de retorno de la instrucción que se ejecutará después de que finalice la llamada a la función.