Programación General > Visual C++
Asignacion de memoria
(1/1)
martincod:
Tengo el siguiente enunciado:
Escribir un programa en lenguaje C, llamado memoria.c, que permita ingresar un valor entero decimal sin signo, y como resultado nos muestre la cantidad de bytes que ocupa el valor ingresado en memoria, la dirección de memoria que le fue asignada por el S.O. en formato hexadecimal, y byte por byte el contenido de cada una de las posiciones de memoria que pertenecen al valor ingresado. Presentar el código fuente correctamente documentado, y justificar los datos obtenidos como resultado.
El Codiogo q yo puse es el siguiente pero no se q mas me fala:
# include <stdio.h>
int main (void)
{
unsigned int num;
int cant_vacios;
printf ("Ingrese un entero:");
scanf ("%p", &num);
printf ("La direccion de memoria es asignada por el SO es:%pn", num);
sizeof (unsigned int) - cant_vacios);
}
si alguien me puede dar una mano se lo agradeceria mucho.
m0skit0:
Primero, usa las etiquetas de código y leete las normas del foro.
--- Cita de: "martincod" ---la dirección de memoria que le fue asignada por el S.O. en formato hexadecimal,
--- Fin de la cita ---
--- Código: C ---printf ("La direccion de memoria asignada por el SO es: %xn", &num);
--- Cita de: "martincod" ---nos muestre la cantidad de bytes que ocupa el valor ingresado en memoria
--- Fin de la cita ---
--- Código: C ---printf ("La cantidad de bytes que ocupa en memoria es : %dn", sizeof(num));
--- Cita de: "martincod" ---byte por byte el contenido de cada una de las posiciones de memoria que pertenecen al valor ingresado
--- Fin de la cita ---
Este que es un poco más complicado (pero no mucho :)) te lo dejo que lo pienses por ti mismo. Es evidente que vas a tener que usar un puntero que apunte a un solo byte. Para ello puedes usar char * puntero (puntero a byte), por ejemplo, o para que lo veas mejor, char puntero[].
Ánimo
Navegación
Ir a la versión completa