La conceptualización y la aplicabilidad en el campo de la programación
Enviado por • 22 de Abril de 2013 • 532 Palabras (3 Páginas) • 359 Visitas
1. Teniendo en cuenta la conceptualización y la aplicabilidad en el campo de la programación frente al uso de las variables estáticas y las variables dinámicas, realice un cuadro comparativo de las características, ventajas y desventajas.
Variables estáticas: son aquellas que el programador les asigna memoria antes de la ejecución del programa o de una función.
Ventajas: Desventajas
No cambian durante la ejecución de un programa por lo tanto siempre se puede estar seguro de su valor. Siempre se reserva antes de conocer los datos concretos del problema y esto origina reservar siempre un máximo de memoria que en la mayoría de las veces no se va a necesitar
Sencillos de manejar y no dan problemas en tiempo de ejecución No pueden crecer o menguar durante la ejecución del programa (hay que hacer estimaciones previas a la codificación).
Las zonas de memoria asignadas a estas variables son fijas (no son adecuadas para representar listas, árboles, etc.).
Variables dinámicas: pueden ser creadas y destruidas durante el tiempo de ejecución de un módulo.
Ventajas: Desventajas
La reserva se hace en tiempo de ejecución después de leer los datos y de conocer el tamaño exacto del problema. Como consecuencia se adapta mucho mejor a las necesidades en cada caso. Dificultad para usarlas correctamente
Sirve para que los programadores se adapten siempre al tamaño del problema que tienen que resolver sin desperdiciar recursos de memoria y esto se traduce en una mayor eficiencia en la ejecución de los programas. Coste en tiempo de ejecución en las operaciones de referencia, asignación y designación
2. Determinar las reglas del funcionamiento de los operadores new y delete para la gestión dinámica de memoria.
Los operadores delete y delete [] sirven respectivamente para destruir los objetos creados con new y new [], volviendo a dejar la memoria asignada a disposición del gestor de memoria del compilador.
Los objetos creados con new deben ser destruidos necesariamente con delete, y que las matrices creadas con new? Deben ser borradas con delete? .
El operador delete (palabra clave) ofrece una desasignación dinámica de memoria, desasignando un bloque previamente asignado con new, es similar pero superior a la función free de la Librería Estándar.
Este operador debe utilizarse para remover toda la memoria previamente asignada con new; de no hacerse así, puede producirse un agotamiento de la memoria.
Sin taxis
<::> delete <cast-expression>
<::> delete? <cast-expression> // para matrices
delete <array-name> ?; // Para matrices
En un cuadro comparativo, Identificar las principales diferencias entre la utilización de new y delete, frente a la utilización de malloc () y free ().
NEW Y DELETE MALLOC() Y FREE()
...