I think I briefly mentioned why pointers are not literally just ints (though I didn't go into pointer arithmetic), but I feel that it's easier to tell someone it's an integer and then explain the ways in which the compiler treats them differently. I've heard people, for example, ask things like "does this function return a pointer or just an address?" (when they meant to ask "does this function return a pointer or a reference to a pointer?"), and understanding pointers in that sense seems more prevalent when you're just learning them than understanding the technicalities of how your compiler handles things like pointer arithmetic.