Escriba un programa en C para mostrar la representación en memoria de las variables de C como int, float, pointer, etc.
Algoritmo:
obtenga la dirección y el tamaño de la variable. Escriba la dirección en el puntero char. Ahora haga un bucle para el tamaño de la variable e imprima el valor en el puntero encasillado.
Programa:
c
#include <stdio.h> typedef unsigned char *byte_pointer; /*show bytes takes byte pointer as an argument and prints memory contents from byte_pointer to byte_pointer + len */ void show_bytes(byte_pointer start, int len) { int i; for (i = 0; i < len; i++) printf(" %.2x", start[i]); printf("\n"); } void show_int(int x) { show_bytes((byte_pointer) &x, sizeof(int)); } void show_float(float x) { show_bytes((byte_pointer) &x, sizeof(float)); } void show_pointer(void *x) { show_bytes((byte_pointer) &x, sizeof(void *)); } /* Driver program to test above functions */ int main() { int i = 1; float f = 1.0; int *p = &i; show_float(f); show_int(i); show_pointer(p); show_int(i); getchar(); return 0; }
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA