A Reference variable is an alias for the variable name.
It is different from the pointers in following ways:
- You cannot have NULL references. You must always be able to assume that a reference is connected to a legitimate piece of storage.
- Once a reference is initialized to an object, it cannot be changed to point to any another object whereas in case of pointer we can make it point to any other object at any time.
- A reference must be initialized the time it is created. Pointers can be made initialized at any time.