malloc(0) can return either a null pointer or a pointer to 0 bytes. The ANSI/ISO Standard says that it may do either and that the behaviour is implementation-defined.
0
0
0
0
0