Does Malloc Initialize Memory To Zero? Understanding Memory Allocation In C