I tried to look at SE for language lawyering about that, but all I found just now was this one which hilariously discusses if
((void *) 0)
(with the extra parens) is a null pointer constant in the same way
(void *) 0
, without anyone ever questioning the latter is.
stackoverflow.com/questions/26477209/… Anyway, I'm not sure I have much more on this without looking for more input from actual language lawyers.