> C pointers also do not hold "nothing". What you refer to as "nothing" is the address 0, which is a special value that the language makes certain guarantees about that you interpret as being "nothing" because of these guarantees.
Of course. The point is that pointers have that "special value", while primitives do not. The integer value 0 is not the same thing.