Académique Documents
Professionnel Documents
Culture Documents
Memoria dinmica
Apuntadores
Gestin dinmica de memoria
Operadores y funciones en la gestin dinmica de memoria
Curso: 301305_1
INTRODUCCIN
En este tema se estudiarn las posibilidades que ofrece el Lenguaje C a la hora de trabajar
dinmicamente con la memoria dentro de los programas, esto es, reservar y liberar bloques de
memoria al momento de ejecutar un programa.
Adems en este tema se introducir el concepto de tipo abstracto de dato y la forma de dividir
un gran programa en otros ms pequeos. Tambin se estudiaran conceptos claves de
estructuras de datos y sus aplicaciones.
OBJETIVOS
RESPUESTA
Se encuentra en la llibreria stdlib.h, devuelve un
puntero al primer byte de la parcela o porcin de
memoria reservada o un puntero NULL, en caso
de no haberse podido reservar el bloque de
memoria solicitado.
Los argumentos necesarios para la utilizacin
de la funcin malloc son:
tam: Indica el tamao en bytes del bloque de
memoria que se desea reservar. Es muy
importante comprobar que el puntero devuelto
por malloc() no es un puntero nulo antes de
hacer uso de l
El operador sizeof (tipo_de_dato), nos devuelve
el tamao que ocupa en memoria un cierto tipo
de dato, de esta manera, podemos escribir
programas independientes del tamao de los
datos y de la longitud de palabra de la mquina.
entero.
El tamao en bytes de un elemento de tipo T se
obtiene con la expresin
sizeof ( T)
El tamao de un char siempre es 1 (uno).
Funcin free Cuando una zona de memoria
reservada con malloc ya no se necesita, puede
ser liberada mediante la funcin free.void free
(void* ptr); ptr es un puntero de cualquier tipo
que apunta a un rea de memoria reservada
previamente con malloc.
Si ptr apunta a una zona de memoria indebida,
los efectos pueden ser desastrosos, igual que si
se libera dos veces la misma zona.
free(numero);
Si se requiere liberar la memoria previamente asignada en un programa codificado en
C++ se puede hacer uso de:
Indique la instruccin de cdigo necesaria en utilizando la sintaxis de C++ para liberar
memoria dinmica previamente asignada a una variable apuntador de tipo entero
llamada nmero, a travs de la funcin Free ().
Cdigo
void main(){
Documentacin y Resultados
int a=10;
*x=NULL,**y=NULL,***z=NULL;
clrscr ();
x = &a;
*x = 120;
y = &x ;
**y += *x;
10
z = &y;
11
12
Cul es el resultado de a?
13
14
15
16
getch ();}