C程序员应该明白, 在指针上下文中 NULL 和 0 是完全等价的, 而未加修饰的 0 也完全可以接受。
任何使用 NULL (跟 0 相对) 的地方都应该看作一种温和的提示, 是在使用指針;
程序员 (和编译器都) 不能依靠它来区别 指針 0 和整数 0。
非指針的上下文中 不要用NULL来代替0 ( ANSI允许把NULL定义为 ((void *)0 )
特別是, 不能在需要 ASCII 空字符 (NUL) 的地方用 NULL。如果有必要, 提供你自己的定义
#define NUL '/0'
任何使用 NULL (跟 0 相对) 的地方都应该看作一种温和的提示, 是在使用指針;
程序员 (和编译器都) 不能依靠它来区别 指針 0 和整数 0。
非指針的上下文中 不要用NULL来代替0 ( ANSI允许把NULL定义为 ((void *)0 )
特別是, 不能在需要 ASCII 空字符 (NUL) 的地方用 NULL。如果有必要, 提供你自己的定义
#define NUL '/0'