|
Reference
|
Pointer |
| Reference behaves like an alias for an existing variable, i.e., it is a temporary variable. | The pointer is a variable which stores the address of a variable. |
| Reference variable does not require any indirection operator to access the value. A reference variable can be used directly to access the value. | Pointer variable requires an indirection operator to access the value of a variable. |
| Once the reference variable is assigned, then it cannot be reassigned with different address values. | The pointer variable is an independent variable means that it can be reassigned to point to different objects. |
| A null value cannot be assigned to the reference variable. | A null value can be assigned to the reference variable. |
| It is necessary to initialize the variable at the time of declaration. | It is not necessary to initialize the variable at the time of declaration. |