0% encontró este documento útil (0 votos)
101 vistas4 páginas

Unidad V. Asignación Dinámica de Memoria

El documento habla sobre la asignación dinámica de memoria en C. Explica que permite asignar memoria según sea necesaria usando punteros. Detalla cómo declarar punteros, asignarles direcciones de memoria con operadores como & y *, y funciones como malloc. También menciona estructuras de datos dinámicas como arreglos y listas enlazadas.

Cargado por

Joerfre
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
101 vistas4 páginas

Unidad V. Asignación Dinámica de Memoria

El documento habla sobre la asignación dinámica de memoria en C. Explica que permite asignar memoria según sea necesaria usando punteros. Detalla cómo declarar punteros, asignarles direcciones de memoria con operadores como & y *, y funciones como malloc. También menciona estructuras de datos dinámicas como arreglos y listas enlazadas.

Cargado por

Joerfre
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa

Universidad Experimental Politécnica de la

Fuerza Armada Nacional Bolivariana

Núcleo La Guaira

ASIGN
ACIÓN
DINÁM
ICA DE
MEMO
RIA

Profesor. Alumno.
Cumare, Nolis. Sánchez, Joerfre
Asignación dinámica de memoria
La asignación dinámica de memoria se refiere a asignar memoria de acuerdo la
vayamos necesitando.

Se hace uso de punteros o apuntador.

Puntero: Variable que almacena una dirección de memoria. Se pueden tener


apuntadores a cualquier tipo de variable.

Operadores

El operador unario o monádico &: Devuelve la dirección de memoria de una variable.

El operador de indirección o de referencia *: Devuelve el “contenido de un objeto


apuntado por un puntero o un apuntador”.

Declaración de punteros

Para una variable entera:

int *p; //p es una variable puntero, que apunta a un entero

Para una variable char:

char *q; //q es una variable puntero que apunta a un char

Asignar valor de dirección de memoria a punteros:

Con la dirección de otra variable:

int *r, x;
r=&x; //r es una variable puntero, que apunta a un entero dado por x

Con operador new (en c++):

Asignar valor de dirección de memoria a punteros:

int *puntero1;
puntero1= new int; //puntero1 es una variable puntero, que apunta a un
entero

Con funcion malloc():

char *p;

P=char *malloc()
//p es una variable puntero, que apunta a un char

char *z;
z=(char *) malloc(100);
//z es una variable puntero a la que se le asignan 100 bytes de memoria

La asignación dinámica de memoria es una característica del lenguaje C. Le permite al


usuario crear tipos de datos y estructuras de cualquier tamaño de acuerdo a las
necesidades que se tengan en el programa.

Se revisarán dos de las aplicaciones más comunes:

• Arreglos dinámicos
• Estructuras dinámicas de datos.
Estructuras de datos lineales

Existen distintas estructuras de datos, que nos ayudaran a mejorar el orden y la forma
en la que debemos procesar los datos, desde cambiar la forma de guardar los datos, el
orden y los métodos.

Esta estructura puede ser dinámica y estática, la estructura estática son aquellas con
un tamaño definido antes de que el programa se ejecute y no puede modificarse dicho
tamaño durante la ejecución del programa. En cambio la estructura dinámica no tiene
una limitación de tamaño.

A continuación veremos los tres tipos de estructuras:

Pilas: Utilizan una estructura filo(First In Last Out), el primero que entra será el último
en salir.

Será un procesamiento los últimos datos que añadimos como los primeros, es un
orden inverso. La importancia de las pilas es que se usan implícitamente en programas
recursivos. En la imagen siguiente podemos ver un esquema.

Colas: una estructura fifo(First In First Out), el primero que entra será el primero en
salir.
Un ejemplo claro es la cola de un supermercado, el primero en llegar será el primero
en pagar. Algunos de sus usos son las búsquedas de datos. En la imagen siguiente
veremos un esquema.

Listas enlazadas: Sera una array donde por cada casilla tendremos dos valores.

El valor de la casilla y la posición de la siguiente casilla, para enlazar una con la


siguiente, si quisiéramos cambiar el orden solamente debemos de cambiar el segundo
valor ya que es el siguiente valor en la lista.

También podría gustarte