malloc should allocate only 1 byte of memory and hence we shouldnt be able to store an integer in it..but my program works..how?Code:int main() { int *x; x= malloc(sizeof(char)); *x=500000000; printf("\n%d, %d, %d, size-char=%d, size-int=%d\n",*x, x, x+1, sizeof(char), sizeof(int)); }