TRABAJO UNAD
Enviado por MAFEPUMA • 21 de Noviembre de 2013 • 1.156 Palabras (5 Páginas) • 309 Visitas
TRABAJO COLABORATIVO N0 1
Memoria dinámica
Apuntadores
Gestión dinámica de memoria
Operadores y funciones en la gestión dinámica de memoria
Curso: 301305_1
Presentado por:
HENRY ALEXANDER GUTIERREZ FUENTES
COD: 4.144.474
Tutor: HERMES MOSQUERA
UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA UNAD
FACULTAD DE INGENIERIA DE SISTEMAS
ESTRUCTURA DE DATOS
BOGOTA, ABRIL 2012
INTRODUCCIÓN
En este tema se estudiarán las posibilidades que ofrece el Lenguaje C a la hora de trabajar dinámicamente con la memoria dentro de los programas, esto es, reservar y liberar bloques de memoria al momento de ejecutar un programa.
Además en este tema se introducirá el concepto de tipo abstracto de dato y la forma de dividir un gran programa en otros más pequeños. También se estudiaran conceptos claves de estructuras de datos y sus aplicaciones.
OBJETIVOS
• Aplicar y profundizar en los fundamentos teórico-prácticos de la Unidad 1 relacionada con la aplicación de las estructuras y la gestión dinámica de memoria, por medio de pequeños proyectos de aplicación desarrollados para un entorno real.
• Desarrollar programas que permitan fortalecer las buenas prácticas de programación dando aplicabilidad a las estructuras lineales a través del desarrollo de supuestos semánticos en entornos reales.
• Dar aplicabilidad al uso y manejo de las variables apuntadores, funciones y operadores de C++ en el manejo de la memoria de forma dinámica, así integrar estos conceptos con las operaciones que se pueden realizar por medio de un menú de opciones.
1. Conceptualización de la memoria dinámica.
De acuerdo a la conceptualización del módulo referente a la unidad 1 y a las consultas bibliográficas en la Biblioteca virtual de la UNAD, de respuesta en la columna de la derecha a los siguientes interrogantes:
ENUNCIADO RESPUESTA
En la gestión dinámica de memoria ¿Qué utilidad tiene la función Malloc ()?
Se encuentra en la llibreria stdlib.h, devuelve un puntero al primer byte de la parcela o porción de memoria reservada o un puntero NULL, en caso de no haberse podido reservar el bloque de memoria solicitado.
Los argumentos necesarios para la utilización de la función malloc son:
tam: Indica el tamaño 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
Cuál es la utilidad del operador sizeof en la gestión dinámica de memoria?
El operador sizeof (tipo_de_dato), nos devuelve el tamaño que ocupa en memoria un cierto tipo de dato, de esta manera, podemos escribir programas independientes del tamaño de los datos y de la longitud de palabra de la máquina. En resumen si no utilizamos este operador en conjunción con las conversiones de tipo cast probablemente nuestro programa sólo funciones en el ordenador sobre el que lo hemos programado.
Establezca la diferencia relacionadas con el operador sizeof entre las dos instrucciones de código siguientes:
Instrucción 1.
valor = (float * ) malloc (10 * sizeof (float));
Instrucción 2.
valor = (float * ) malloc (sizeof (float));
La función malloc sirve para solicitar un bloque de memoria del tamaño suministrado como parámetro. Devuelve un puntero a la zona de memoria concedida:
Void* malloc (unsigned numero_de_bytes); El tamaño se especifica en bytes. Se garantiza que la zona de memoria concedida no está ocupada por ninguna otra variable ni otra zona devuelta por malloc.
Operador sizeof El problema de malloc es conocer cuántos bytes se quieren
...