RESERVA DINAMICA DE MEMORIA EN C
Los operadores new y delete se utilizan para reservar y liberar memoria dinamicamente. new y delete son parte del lenguaje C++ y no parte de una libreria como sucedia con las funciones equivalentes malloc() y free() de C. Ahora los operadores new y delete.
El proposito de new es crear arrays cuyo tamaño pueda ser determinado mientras el programa se ejecuta.
delete funciona igual que free() en C. La memoria a la que apunta el puntero es liberado, pero no el puntero en si.
A continuacion se presenta a modo de ejemplo un programa que reserva memoria de modo
dinamico para un vector de caracteres:
#include <iostream.h>
#include <string.h>
void main() {
char Nombre[50];
cout << 'Introduzca su Nombre:';
cin >> Nombre;
char *CopiaNombre = new char[strlen(Nombre)+1];
strcpy(CopiaNombre, Nombre); //copio Nombre en la variable CopiaNombre
cout << CopiaNombre;
delete [] CopiaNombre; //libero memoria
}
Se puede utilizar el operador new para crear variables de cualquier tipo. New devuelve, en todos los casos, un puntero a la variable creada. Tambien se pueden crear variables de tipos definidos por el usuario.
struct usuario {
..........
};
usuario* Un_Usuario;
Un_Usuario = new usuario;
Cuando una variable ya no es necesaria se destruye con el operador delete para poder utilizar
la memoria que estaba ocupando, mediante una instruccion del tipo:
Anterior:
arrays y punteros
Siguiente:
funciones
apuntes lenguaje c:
· Algunos conceptos· Tipos en el lenguaje c
· Variables y constantes en c
· Operadores en el lenguaje c
· Entrada/salida en c
· Estructuras de control en c
· Arrays y punteros en c
· Reserva dinamica de memoria en c
· Funciones en lenguaje c
· Estructuras en lenguaje c
· Clases
· Clases y encapsulacion en c
· Clases constructores y desctructores en c
· Descomposicion en modulos en c
· Array de objetos en c
· Clases static en c
· Un objeto con un puntero interno
· Punteros a clases en c
· Objetos encadenados en c
· Sobrecarga de operadores en c
IMPORTANTE:
- Si te ha gustado esta pagina, por favor, votanos aqui:- Si no te ha gustado, escribenos y cuentanos en que mejorar.

apuntes