RTFM

http://weibo.com/1401880315/BnzEEyDnF?mod=weibotime

@1:
free(ptr):If ptr is a null pointer, no action occurs.

@2:
malloc(0):
Q: What should malloc(0) do? Return a null pointer or a pointer to 0 bytes?
A: The ANSI/ISO Standard says that it may do either; the behavior is implementation-defined. Portable code must either
take care not to call malloc(0), or be prepared for the possibility of a null return.

@3:
malloc(-1):
malloc(-1) returns NULL.

原文地址:https://www.cnblogs.com/lxw0109/p/RTFM.html