Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Pilas con Memoria Dinámica

Enviado por   •  3 de Septiembre de 2019  •  Apuntes  •  2.102 Palabras (9 Páginas)  •  464 Visitas

Página 1 de 9

                           UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA[pic 1]

                           Programación 1

                           Sección: “B”

                          Ing. Antonio Escobar.












Pilas con Memoria Dinamica



                                                                                              







        

                                                                                   

       

                                                                                                                  

                                                                               

 Luis Fernando De la Cruz Santos

0901-18-17144  

Pilas con Memoria Dinámica

La memoria dinámica se refiere a aquella memoria que no puede ser definida ya que no se conoce o no se tiene idea del número de la variable a considerarse, la solución a este problema es la memoria dinámica que permite solicitar memoria en tiempo de ejecución, por lo que cuanta más memoria se necesite, más se solicita al sistema operativo. El sistema operativo maneja la memoria gracias al uso de punteros, por la misma naturaleza del proceso nos impide conocer el tamaño de la memoria necesaria en el momento de compilar.


Un dato importante es que como tal este tipo de datos se crean y se destruyen mientras se ejecuta el programa y por lo tanto la estructura de datos se va dimensionando de forma precisa a los requerimientos del programa, evitándonos así perder datos o desperdiciar memoria si hubiéramos tratado de definirla cantidad de memoria a utilizar en el momento de compilar el programa.


Cuando se crea un programa en el que es necesario manejar memoria dinámica el sistema operativo divide el programa en cuatro partes que son: texto, datos (estáticos), pila y una zona libre o heap. En la última parte es donde queda la memoria libre para poder utilizarla de forma dinámica. En el momento de la ejecución habrá tanto partes libres como partes asignadas al proceso por lo cual si no se liberan las partes utilizadas de la memoria y que han quedado inservibles es posible que se “agote” esta parte y por lo tanto la fuente de la memoria dinámica. También la pila cambia su tamaño dinámicamente, pero esto no depende del programador sino del sistema operativo.

Ejemplo de pila dinamica:

# include 

# include 

using namespace std;

struct pilas

{

        int valor;

        pilas *direccionA;

};

pilas *pilao, *pilaaux;

void ingreso();

void mostrar();

int main()

{

        int opcion;

        while (true) {

                cout << "1 Ingreso de datos a la pila" << endl;

                cout << "2 Leer datos de la pila" << endl;

                cin >> opcion;

                switch (opcion) {

                case 1: {

                        ingreso();

                        break;

                }

                case 2: {

                        mostrar();

                        break;

                }

                }

        }

}

                

                void ingreso() {

                        system("cls");

                        if (pilao == NULL) {

                                pilao = new(pilas);

                                cout << "Mi Direccion " << pilao << endl;

                                cout << "Ingrese PRIMER dato a la pila" << endl;

                                cin >> pilao->valor;

...

Descargar como  txt (4.9 Kb)   pdf (97.5 Kb)   docx (18.3 Kb)  
Leer 8 páginas más »
Disponible sólo en Essays.club