#include #define show_var(var) (show_mem(&var, sizeof(var))) show_mem(void *addr, unsigned len); typedef struct {char c; int i; long l; float f; double d; long double ld;} mystruct ; main(void) { char c = 'A'; int i = 84326123; long l = 0xFFFFFFFF; float f = 31241.215; double d = 231854.56463526; long double ld = 1.224e-155; mystruct ms = {c, i, l, f, d, ld}; #define tracevar(var) { printf("%2s: ", #var); show_var(var); } tracevar(c); tracevar(i); tracevar(l); tracevar(f); tracevar(d); tracevar(ld); putch('\n'); tracevar(ms); getch(); } show_mem(void *addr, unsigned len) { printf("(%02d) ", len); while(len--) printf("%02X ", *(((unsigned char*)addr)++)); putch('\n'); }