single
Asignación Dinámica
Desliza para mostrar el menú
La asignación dinámica de memoria implica el uso de los operadores new y delete. Estos operadores permiten asignar memoria para variables y arreglos en tiempo de ejecución, proporcionando mayor flexibilidad que la asignación estática de memoria.
-
new: operador que se utiliza para asignar dinámicamente memoria para un objeto o un arreglo de objetos durante el tiempo de ejecución; -
delete: operador que se utiliza para liberar la memoria que fue previamente asignada con el operadornew.
Un puntero que apunta a memoria asignada dinámicamente normalmente se almacena en la pila, pero la memoria a la que apunta se asigna en el montón.
Para crear una variable entera de forma dinámica, se debe utilizar un puntero junto con la palabra clave new.
int *dynamicInteger = new int;
Para liberar la memoria asignada dinámicamente, se utiliza el operador delete:
delete dynamicInteger;
Establezca como regla: cuando utilice new para asignar memoria, siempre utilice delete para liberarla posteriormente.
Arreglos asignados dinámicamente
Al asignar memoria para arreglos de forma dinámica, utilice el operador new[], y al liberar la memoria de arreglos asignados dinámicamente, utilice el operador delete[].
No eliminar la memoria asignada dinámicamente puede provocar fugas de memoria, donde el programa retiene memoria que ya no está en uso.
Desliza para comenzar a programar
Imagina que trabajas como docente y necesitas calcular el promedio de calificaciones de un grupo de estudiantes.
También trabajarás con punteros y funciones que manipulan arreglos asignados dinámicamente.
- Crear un arreglo asignado dinámicamente
gradespara almacenar las calificaciones de los estudiantes. - Utilizar la función
fillRandomGradespara llenar el arreglo con calificaciones aleatorias entre 60 y 100. - Completar la función
calculateAveragepara que:- Inicialice la variable
sumen 0. - Recorra el arreglo utilizando un ciclo
for. - Sume cada calificación a
sum. - Devuelva el promedio dividiendo el total de
sumentre el número de estudiantes.
- Inicialice la variable
- Recordar liberar la memoria asignada usando
delete[]al final del programa para evitar fugas de memoria.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla