1)how the free(void *ptr) determine howmany bytes need to be freed when called.
2)is thr any differnce b/w typedef and #define?