#include #include void hex_dump(char *ptr,int size,int rowsize); void hex_dump(char *ptr,int size,int rowsize) { int i = 0; while (i < size) { if (isprint(*ptr)) { putchar(*ptr); putchar(' '); } else { printf("%02.2x",(*ptr & 0xff)); } if ((i % rowsize) == (rowsize - 1)) { putchar('\n'); } else { putchar(' '); } i++; ptr++; } putchar('\n'); } main() { char *pch, *pch2, *pch3; char *oldpch, *oldpch3; int size; pch = malloc(100); memset(pch,(int)'x',100); pch2 = malloc(100); memset(pch2,(int)'x',100); pch3 = malloc(100); memset(pch3,(int)'x',100); size = (int)(&pch3[99] - pch); hex_dump(pch, size, 16); oldpch = pch; free(pch); free(pch2); free(pch3); hex_dump(oldpch, size, 16); }