What is the difference between a pointer and a reference?
A reference must be bound when it is created and can never be rebound; a pointer can be null, reassigned, and has its own address and arithmetic. In practice you take a reference when the thing must exist and a pointer when absence is a legal state. A reference is not a separate object, which is why there are no references to references and no arrays of them.