SlideShare una empresa de Scribd logo
Memoria dinámica
● Permite solicitar memoria en tiempo de ejecución, por lo
que cuanta más memoria se necesite, más se solicita al
sistema operativo
● Este tipo de datos se crean y se destruyen mientras se
ejecuta el programa
● malloc(tam_en_bytes)
● Pide memoria al sistema. En caso de éxito
devuelve un puntero al área de memoria; en caso
de fallar, devuelve un puntero nulo.
● grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
● free()
● Devuelve la memoria que pidió malloc()
– free(grupo);
sizeof
● Devuelve en bytes el tamaño del tipo
especificado
● sizeof(char) devuelve 1
● sizeof(int) devuelve 4
● int v[10]; sizeof(v) devuelve 40
● ALUMNO_T alum; sizeof(alum) = ?
Malloc() (y calloc()) devuelven la memoria pedida
“en bruto”, por lo que debemos “formatearla”, a
través de un casting (promoción)
casts
● Promueve un tipo de dato a otro (siempre y
cuando ambos sean lógicamente compatibles).
● También se utilizan para “formatear” la
memoria devuelta por malloc().
● pInt=(int)malloc(sizeof(int));
● grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
typedef struct
{
char nombre[80];
int calif;
} ALUMNO_T;
int main(int argc, char *argv[])
{
ALUMNO_T *grupo;
grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
if(grupo==NULL){
printf("Error asignando memorian");
return 0;
}
grupo[0].calif=10;
strcpy(grupo[0].nombre,"Fco. Javier");
printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif);
// (grupo->calif+1)=0;
free(grupo);
}
typedef struct
{
char nombre[80];
int calif;
} ALUMNO_T;
int main(int argc, char *argv[])
{
ALUMNO_T *grupo;
grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
if(grupo==NULL){
printf("Error asignando memorian");
return 0;
}
grupo[0].calif=10;
strcpy(grupo[0].nombre,"Fco. Javier");
printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif);
// (grupo->calif+1)=0;
free(grupo);
}
typedef struct
{
char nombre[80];
int calif;
} ALUMNO_T;
int main(int argc, char *argv[])
{
ALUMNO_T *grupo;
grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
if(grupo==NULL){
printf("Error asignando memorian");
return 0;
}
grupo[0].calif=10;
strcpy(grupo[0].nombre,"Fco. Javier");
printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif);
// (grupo->calif+1)=0;
free(grupo);
}
typedef struct
{
char nombre[80];
int calif;
} ALUMNO_T;
int main(int argc, char *argv[])
{
ALUMNO_T *grupo;
grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
if(grupo==NULL){
printf("Error asignando memorian");
return 0;
}
grupo[0].calif=10;
strcpy(grupo[0].nombre,"Fco. Javier");
printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif);
// (grupo->calif+1)=0;
free(grupo);
}
typedef struct
{
char nombre[80];
int calif;
} ALUMNO_T;
int main(int argc, char *argv[])
{
ALUMNO_T *grupo;
grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
if(grupo==NULL){
printf("Error asignando memorian");
return 0;
}
grupo[0].calif=10;
strcpy(grupo[0].nombre,"Fco. Javier");
printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif);
// (grupo->calif+1)=0;
free(grupo);
}
typedef struct
{
char nombre[80];
int calif;
} ALUMNO_T;
int main(int argc, char *argv[])
{
ALUMNO_T *grupo;
grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
if(grupo==NULL){
printf("Error asignando memorian");
return 0;
}
grupo[0].calif=10;
strcpy(grupo[0].nombre,"Fco. Javier");
printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif);
// (grupo->calif+1)=0;
free(grupo);
}

Más contenido relacionado

La actualidad más candente

⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)
Victor Asanza
 
Taller 10
Taller 10Taller 10
Taller 10
Diego Zerkk
 
Tutorial de numpy
Tutorial de numpyTutorial de numpy
Tutorial de numpy
Diego Camilo Peña Ramirez
 
Tipos de datos en R
Tipos de datos en RTipos de datos en R
Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))
kikocorreoso
 
Aplicacion de limites
Aplicacion de limitesAplicacion de limites
Aplicacion de limites
Jorge Luis Villanueva Maza
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#rezzaca
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facilDariana Acuariogv
 
Administración de memoria y apuntadores
Administración de memoria y apuntadoresAdministración de memoria y apuntadores
Administración de memoria y apuntadores
Franklin Chavez
 
Práctica 5 matlab 23_noviembre_2017
Práctica 5 matlab 23_noviembre_2017Práctica 5 matlab 23_noviembre_2017
Práctica 5 matlab 23_noviembre_2017
Mafer Pinto
 
Manejo de la memoria
Manejo de la memoriaManejo de la memoria
Manejo de la memoria
Simion Fernandez Zorrilla
 
Reserva y liberación de memoria
Reserva y liberación de memoriaReserva y liberación de memoria
Reserva y liberación de memoriaJose Telleria
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
José Antonio Sandoval Acosta
 
Corrección epu
Corrección epu Corrección epu
Corrección epu rocker0o
 

La actualidad más candente (20)

Practica dip 2013
Practica dip 2013Practica dip 2013
Practica dip 2013
 
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN SISTEMAS DIGITALES 2, Mejoramiento (2020 PAO 2)
 
Practica 1
Practica 1Practica 1
Practica 1
 
Practica javascript
Practica javascriptPractica javascript
Practica javascript
 
Modelo Persistente
Modelo PersistenteModelo Persistente
Modelo Persistente
 
Taller 10
Taller 10Taller 10
Taller 10
 
Tema 2
Tema 2Tema 2
Tema 2
 
Tutorial de numpy
Tutorial de numpyTutorial de numpy
Tutorial de numpy
 
Tipos de datos en R
Tipos de datos en RTipos de datos en R
Tipos de datos en R
 
Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))Python científico (introducción a numpy y matplotlib))
Python científico (introducción a numpy y matplotlib))
 
Aplicacion de limites
Aplicacion de limitesAplicacion de limites
Aplicacion de limites
 
Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Recursividad Con C#
Recursividad Con C#Recursividad Con C#
Recursividad Con C#
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
Administración de memoria y apuntadores
Administración de memoria y apuntadoresAdministración de memoria y apuntadores
Administración de memoria y apuntadores
 
Práctica 5 matlab 23_noviembre_2017
Práctica 5 matlab 23_noviembre_2017Práctica 5 matlab 23_noviembre_2017
Práctica 5 matlab 23_noviembre_2017
 
Manejo de la memoria
Manejo de la memoriaManejo de la memoria
Manejo de la memoria
 
Reserva y liberación de memoria
Reserva y liberación de memoriaReserva y liberación de memoria
Reserva y liberación de memoria
 
Fundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la ProgramaciónFundamentos de Programación - Unidad II: Introducción a la Programación
Fundamentos de Programación - Unidad II: Introducción a la Programación
 
Corrección epu
Corrección epu Corrección epu
Corrección epu
 

Destacado

Administración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicasAdministración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicas
UVM
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
Diosmary Marrón Dellán
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
Victor Marquez Hakuna Matata
 
Arrays bidimensionales
Arrays bidimensionalesArrays bidimensionales
Arrays bidimensionalesasvargas
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
ApuntadoresApuntadores
Apuntadoresluisabn
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++die_dex
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
Diego Enrique Hernández González
 
Ejercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectoresEjercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectores
Salvador Fernández Fernández
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++die_dex
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
Sergio Ramos
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
UVM
 
Administración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicosAdministración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicos
UVM
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matricesJohanna Marin
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesmarigelcontreras
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
andermijan
 
Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++Wladimir Pineida
 

Destacado (20)

Administración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicasAdministración de memoria continuación -matrices estáticas y dinámicas
Administración de memoria continuación -matrices estáticas y dinámicas
 
Exp compi(2)
Exp compi(2)Exp compi(2)
Exp compi(2)
 
Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_Estructuras de datos_dinamicas_definicion_e_implementacion_
Estructuras de datos_dinamicas_definicion_e_implementacion_
 
Trabajo de estructura de datos
Trabajo de estructura de datosTrabajo de estructura de datos
Trabajo de estructura de datos
 
Arrays bidimensionales
Arrays bidimensionalesArrays bidimensionales
Arrays bidimensionales
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Ejercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectoresEjercicios punteros cadenas-vectores
Ejercicios punteros cadenas-vectores
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Solucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectoresSolucion ejercicios punteros cadenas-vectores
Solucion ejercicios punteros cadenas-vectores
 
colas de prioridad
colas de prioridad colas de prioridad
colas de prioridad
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Administración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicosAdministración de memoria - arreglos estáticos y dinámicos
Administración de memoria - arreglos estáticos y dinámicos
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++Aplicación de vectores y matrices en c++
Aplicación de vectores y matrices en c++
 

Similar a Memoria memoria dinamica

Memoria dinamica
Memoria dinamicaMemoria dinamica
Intro PyGame Capitulo 5
Intro PyGame Capitulo 5Intro PyGame Capitulo 5
Intro PyGame Capitulo 5
Ricardo Daniel Quiroga
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarrokathenavarro
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarrokathenavarro
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++kikeMerck
 
Clase 4b crear un modelo
Clase 4b crear un modeloClase 4b crear un modelo
Clase 4b crear un modelo
Tensor
 

Similar a Memoria memoria dinamica (8)

Tema 11
Tema 11Tema 11
Tema 11
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Intro PyGame Capitulo 5
Intro PyGame Capitulo 5Intro PyGame Capitulo 5
Intro PyGame Capitulo 5
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarro
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarro
 
Estructura de datos c++
Estructura de datos c++Estructura de datos c++
Estructura de datos c++
 
Clase 4b crear un modelo
Clase 4b crear un modeloClase 4b crear un modelo
Clase 4b crear un modelo
 
Modelo Simulado
Modelo SimuladoModelo Simulado
Modelo Simulado
 

Último

Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
michiotes33
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
edujunes132
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
ivan848686
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
ValGS2
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
gabrielperedasanchez
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
ppame8010
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
YoverOlivares
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
AldithoPomatay2
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
leonpool521
 

Último (20)

Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
Material magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulasMaterial magnetismo.pdf material del electromagnetismo con fórmulas
Material magnetismo.pdf material del electromagnetismo con fórmulas
 
Clasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de BartonClasificacion geomecanica de Q de Barton
Clasificacion geomecanica de Q de Barton
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptxDesbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
Desbalanceo Rotatorio cabeceo de flechas y elementos rotativos_GSV.pptx
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
Voladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.pptVoladura de mineria subterránea pppt.ppt
Voladura de mineria subterránea pppt.ppt
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
 

Memoria memoria dinamica

  • 1. Memoria dinámica ● Permite solicitar memoria en tiempo de ejecución, por lo que cuanta más memoria se necesite, más se solicita al sistema operativo ● Este tipo de datos se crean y se destruyen mientras se ejecuta el programa ● malloc(tam_en_bytes) ● Pide memoria al sistema. En caso de éxito devuelve un puntero al área de memoria; en caso de fallar, devuelve un puntero nulo. ● grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); ● free() ● Devuelve la memoria que pidió malloc() – free(grupo);
  • 2. sizeof ● Devuelve en bytes el tamaño del tipo especificado ● sizeof(char) devuelve 1 ● sizeof(int) devuelve 4 ● int v[10]; sizeof(v) devuelve 40 ● ALUMNO_T alum; sizeof(alum) = ?
  • 3. Malloc() (y calloc()) devuelven la memoria pedida “en bruto”, por lo que debemos “formatearla”, a través de un casting (promoción)
  • 4. casts ● Promueve un tipo de dato a otro (siempre y cuando ambos sean lógicamente compatibles). ● También se utilizan para “formatear” la memoria devuelta por malloc(). ● pInt=(int)malloc(sizeof(int)); ● grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T));
  • 5. typedef struct { char nombre[80]; int calif; } ALUMNO_T; int main(int argc, char *argv[]) { ALUMNO_T *grupo; grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); if(grupo==NULL){ printf("Error asignando memorian"); return 0; } grupo[0].calif=10; strcpy(grupo[0].nombre,"Fco. Javier"); printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif); // (grupo->calif+1)=0; free(grupo); }
  • 6. typedef struct { char nombre[80]; int calif; } ALUMNO_T; int main(int argc, char *argv[]) { ALUMNO_T *grupo; grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); if(grupo==NULL){ printf("Error asignando memorian"); return 0; } grupo[0].calif=10; strcpy(grupo[0].nombre,"Fco. Javier"); printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif); // (grupo->calif+1)=0; free(grupo); }
  • 7. typedef struct { char nombre[80]; int calif; } ALUMNO_T; int main(int argc, char *argv[]) { ALUMNO_T *grupo; grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); if(grupo==NULL){ printf("Error asignando memorian"); return 0; } grupo[0].calif=10; strcpy(grupo[0].nombre,"Fco. Javier"); printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif); // (grupo->calif+1)=0; free(grupo); }
  • 8. typedef struct { char nombre[80]; int calif; } ALUMNO_T; int main(int argc, char *argv[]) { ALUMNO_T *grupo; grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); if(grupo==NULL){ printf("Error asignando memorian"); return 0; } grupo[0].calif=10; strcpy(grupo[0].nombre,"Fco. Javier"); printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif); // (grupo->calif+1)=0; free(grupo); }
  • 9. typedef struct { char nombre[80]; int calif; } ALUMNO_T; int main(int argc, char *argv[]) { ALUMNO_T *grupo; grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); if(grupo==NULL){ printf("Error asignando memorian"); return 0; } grupo[0].calif=10; strcpy(grupo[0].nombre,"Fco. Javier"); printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif); // (grupo->calif+1)=0; free(grupo); }
  • 10. typedef struct { char nombre[80]; int calif; } ALUMNO_T; int main(int argc, char *argv[]) { ALUMNO_T *grupo; grupo=(ALUMNO_T *)malloc(50*sizeof(ALUMNO_T)); if(grupo==NULL){ printf("Error asignando memorian"); return 0; } grupo[0].calif=10; strcpy(grupo[0].nombre,"Fco. Javier"); printf("Nombre=%stCalif=%dn",grupo[0].nombre,grupo[0].calif); // (grupo->calif+1)=0; free(grupo); }