The following program demonstrates the differences between pointers
and
references:
/******************************
File: ref.C
******************************/
#include <iostream.h>
int main()
{
int x = 55;
int &y = x; //CREATE REFERENCE VARIABLE y
cout << "x is an integer, y is a reference to x...\n";
cout << "&y = " << &y << "\n"; //PRINT ADDRESS OF y
cout << "y = " << y << "\n"; //PRINT CONTENTS OF y OR x
cout << "&x = " << &x << "\n";//PRINT ADDRESS OF x
cout << "x = " << x << "\n";//PRINT CONTENTS OF x
int *b;//DECLARE AN INTEGER POINTER b
int a = 21;
b = &a;//ASSIGN THE ADDRESS OF a TO b
cout << "\na is an integer, b is a pointer to a...\n";
cout << "&b = " << &b << "\n";//PRINT THE ADDRESS OF b
cout << "b = " << b << "\n";//PRINT THE CONTENTS b
cout << "*b = " << *b << "\n";//PRINT THE CONTENTS OF a
cout << "a = " << a << "\n";//PRINT THE CONTENTS OF a
cout << "&a = " << &a << "\n";//PRINT THE ADDRESS OF a
exit(0);
}
Output:
x is an integer, y is a reference to x...
&y = 0xdffffd9c
y = 55
&x = 0xdffffd9c
x = 55
a is an integer, b is a pointer to a...
&b = 0xdffffd94
b = 0xdffffd90
*b = 21
a = 21
&a = 0xdffffd90