Invetigacion Punteros Y Memoria Dinamica
Apuntadores
Los apuntadores en C y C++ son una herramienta muy potente de programación que suele causar mucha confusión en los estudiantes que la estánaprendiendo. Además, cuando los programadores cometen un error en su utilizaci´on, puede ser muy dif´ıcil encontrar el error, por lo cual es importante saber utilizarlos muy bien. El uso de apuntadores en Cy C++ es muy importante debido a que permite hacer los programas más eficientes y más flexibles. En este artículo se explica de una manera sencilla y breve todo lo referente a la utilizaci´on deapuntadores tanto en C como en C++. Todo lo explicado en este artículo aplica tanto para C como para C++, a menos que se especifique un lenguaje en particular. En algunos ejemplos de código que sonaplicables a C aparecen instrucciones de entrada y salida de las librerías estándar de C++.
Un apuntador es una variable que cómo contendio tiene una dirección de memoria. Por esto se les dice que apuntan aun lugar de la memoria.
Por ejemplo veamos la siguiente declaración:
int *ptrTotal;
//Estamos diciendo ptrTotal es un puntero que apunta a un valor entero (int).
double *ptrLiquidacion;//ptrLiquidacion apunta a un valor double.
int *ptrTotal, contador;
//aquí tenemos una variable ptrTotal que apunta a un entero
//y una variable contador de tipo entera.
//no se debe asumir que contador estambién un apuntador, ya que el *
no se distribuye.
Memoria dinámica
La memoria dinámica es un espacio de almacenamiento que se puede solicitar en tiempo de ejecución. Además de solicitar espacios dealmacenamiento, también podemos liberarlos (en tiempo de ejecución) cuando dejemos de necesitarlos.
Para realizar esta administración de la memoria dinámica, C++ cuenta con dosoperadores new y delete. Antes de utilizarlos, debemos incluir el encabezado
El operador new reserva memoria dinámica de cualquier tipo, esto es:
tipos primitivos (int, double, etc)
tipos definidos por el usuario...
Regístrate para leer el documento completo.