index.htm

PREPARATE PARA EL VERANO

aeromodelismo - apuntes comunicaciones javascript lenguaje c php autoayuda bolsa bricolage chistes deportes empleo fotografia digital mascotas motor ocio pisos plantas recetas sabiasque salud thermomix timos trucos

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.

Actualizado: 16/05/2013




· · · · ·