RE:Pregunta de almacen libre.
En la actualidad esto no tiene mucho sentido. Windows de 32 bits asigna 2 GigaBytes de memoria virtual a cada proceso, y luego convierte esas direcciones a memoria fisica (en la RAM o en disco). Lo del montículo viene de cuando los viejos PC solo tenian 1 Megabyte de memoria y tenían que organizarla meticulosamente con un sistema operativo monotarea. Por eso cuesta entenderlo. Antiguamente, cuando solo habia 1 Megabyte, despues de cargar el codigo ejecutable en la memoria se usaba una posicion alta de la memoria para comenzar a guardar las variables del programa en direccion hacia abajo, donde estaba alojado el programa, eso dejaba un montículo de memoria disponible de unos pocos Kilobytes en funcion del tamaño que ocupase programa. Sinceramente, hoy en dia no tiene mucho sentido perder el tiempo con este tema, porque la administracion de la memoria asignada a un programa es distinta.