I understand that I should not be use the NULL #define, rather I should set null pointers to zero explicitly. This is because, on some systems, NULL may not be defined to be zero.
My question is this. If, on such systems, NULL is not zero, what on earth is it defined as? Also, what would be the purpose of defining it to be something other than zero?