1.)References may not be null whereas normal variable may be null. 
2.)Normal variable contains the value of variable either int or float whereas pointer variable contains the address of the variable.
3. )  It is  necessary to initialize the reference  variable at the time of declaration. It is not  necessary to initialize the normal variable at  the time of declaration