Maison >développement back-end >C++ >Comment afficheriez-vous la représentation en mémoire d'une variable C ?
Ici, nous verrons comment imprimer la représentation mémoire d'une variable C. Ici, nous afficherons des entiers, des nombres à virgule flottante et des pointeurs.
Pour résoudre ce problème, nous devons suivre les étapes suivantes -
#include <stdio.h> typedef unsigned char *byte_pointer; //create byte pointer using char* void disp_bytes(byte_pointer ptr, int len) { //this will take byte pointer, and print memory content int i; for (i = 0; i < len; i++) printf(" %.2x", ptr[i]); printf("</p><p>"); } void disp_int(int x) { disp_bytes((byte_pointer) &x, sizeof(int)); } void disp_float(float x) { disp_bytes((byte_pointer) &x, sizeof(float)); } void disp_pointer(void *x) { disp_bytes((byte_pointer) &x, sizeof(void *)); } main() { int i = 5; float f = 2.0; int *p = &i; disp_int(i); disp_float(f); disp_pointer(p); disp_int(i); }
05 00 00 00 00 00 00 40 3c fe 22 00 00 00 00 00 05 00 00 00
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!