A pointer variable is a variable that holds the address of a memory location.
Every variable is assigned a memory location whose address can be retrieved using the address operator &. The address of a memory location is called a pointer. 1
The pointer data type allows us to designate a variable to hold an address or a pointer. The concept of an address and a pointer are one in the same. A pointer points to the location in memory because the value of a pointer is the address were the data item resides in the memory. Given an integer variable named age:
int age = 47;
We can create a pointer variable and establish its value which would be the done using the address operator [which is the ampersand or &] by:
int * int pointer = &age;
The asterisk is used to designate that the variable int pointer is an integer pointer [int *]. This means that whenever we use the variable int pointer that the compiler will know that it is a pointer that points to an integer.
In order to use pointers you will need to understand the indirection operator which is covered a supplemental link.