I was looking at Why can't you do bitwise operations on pointer in C, and is there a way around this? and noticed that most of the responses say that bitwise operations are not well defined on pointers because a pointer is not very well defined in the standard.
That's a poor characterization of what the answers to that question say. Among the things they actually do say are that you cannot perform bitwise operations on pointers because
- the standard says you can't
- it would not be useful or meaningful
- the semantics [of bitwise operations on pointers] are not well defined
- the standard does not impose requirements on the representation of pointers
The primary message to take from that is that you cannot perform bitwise operations on pointers because the language specification does not define the meaning of such an operation. And why would it? What do you think the meaning or significance would be of twiddling the bits of an address? What, if anything, would the result point to? Under what conditions must the result be valid at all?
However, this has never come up in any of my systems classes, and I wasn't aware that a pointer could be anything but the value of the memory address that the pointer points to.
The language specification identifies pointer values with object addresses, but what the language spec means by that is not necessarily the kind of object that can serve as the operand of a CPU instruction that requires an address. There have been C implementations where these differ.
You also seem to be assuming a flat address space, such that it is reasonable to construe an "address" as a (single) number. There have been and still are machine architectures where that is not the case.
Even considering performing bitwise operations on a C pointer requires thinking at the wrong level of abstraction.
Are there any plans to change this so that a pointer is well defined in a future C standard?
Pointers are already well defined for the purposes they are intended to serve. They are not integers, and are not intended to be treated as integers. This is unlikely to change, because it would not serve a useful purpose. Their representations are unlikely to be specified any more so than they already are, because that would be counterproductive.