Null strings
It is convenient to represent a null string by a zero pointer, instead of a pointer to a null-terminated string with no significant characters, because
s = NULL;
is easier to write than
s = malloc(1); *s = `\0';
We must cater to that representation