So maybe NULL is 0 in C (but not always as ariels' writeup points out). But that's wrong and here's why.

Suppose we're voting with pieces of paper where you write the number of a candidate on it. And suppose they're indexed starting from 0. Some voters didn't vote but put in their paper anyway. Assuming !(null is not zero), they've just voted for the 0th candidate. There is something wrong here.

Well, maybe it isn't entirely wrong. To be more specific and avoid confusion, this node should have been a NULL pointer in C is 0.