目前好像还没有一个很具说服力的
还有平时我们用NULL的并没有在定义头文件之后再使用,所以在包含相应头文件的时候NULL可能要重新看待!
以下来自ISO/IEC 9899:201x
1.先看看void
The (nonexistent) value of avoid expression(an expression that has typevoid) shall not
be used in any way, and implicit or explicit conversions (except tovoid) shall not be
applied to such an expression.
If an expression of any other type is evaluated as a void
expression, its value or designator is discarded. (A void expression is evaluated for its
side effects.)
2.再看看pointers
An integer constant expression with the value 0, or such an expression cast to type
void *, is called a null pointer constant.
If a null pointer constant is converted to a
pointer type, the resulting pointer, called anull pointer, is guaranteed to compare unequal
to a pointer to any object or function.