Why does
int *p;
p= (int *) malloc(0);
printf ("%p", p);
print an address? Because logically its a 0 bytes of memory, so what is that base address meaning to? (I mean the address stored in p).
*Kindly any well known dev in this topic, pls do reply to this query.