Programming Fundamentals/Address Operator

An introduction to the address operator as used within the C++ programming language.

Address Operator in C++
"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. Every variable in an executing program is allocated a section of memory large enough to hold a value of that variable’s type." Thus, whether the variables are global scope and use the data area for storage or local scope and use the stack for storage; you can ask the question at what address in the memory does this variable exist. Given an integer variable named age:

We can use the address operator [which is the ampersand or &] to determine where it exists (or its address) in the memory by:

This expression is a pointer data type. 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.

The address operator is commonly used in two ways: Both of these items are covered in the supplemental links to this module.
 * 1) To do parameter passing by reference
 * 2) To establish the value of pointers

You can print out the value of the address with the following code:

This will by default print the value in hexadecimal. Some people prefer an integer value and to print it as an integer you will need to cast the address into a long data type:

One additional tidbit, an array’s name is by definition a pointer to the arrays first element. Thus:

establishes "iqs" as a pointer to the array.

Definitions

 * address operator
 * The ampersand or &.


 * pointer
 * A variable that holds an address as its value.