Is it safe to assume that NULL always translates to false in C?
NULL
void *somePtr = NULL; if (!somePtr) { /* This will always be executed? */ } <
NULL is defined as a constant pointer that is guaranteed to point to a useless/non-existent place in memory. Most implementations of NULL are ((void *)0) but it is not mandatory that this is so.
((void *)0)