<< Chapter < Page | Chapter >> Page > |
"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." Tony Gaddis, Judy Walters and Godfrey Muganda, Starting Out with C++ Early Objects Sixth Edition (United States of America: Pearson – Addison Wesley, 2008) 597. 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:
int age = 47;
We can use the address operator [which is the ampersand or&] to determine where it exists (or its address) in the memory by:
&age
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.
You can print out the value of the address with the following code:
cout<<&age;
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:
cout<<long(&age);
One additional tidbit, an array’s name is by definition a pointer to the arrays first element. Thus:
int iqs[] = {122, 105, 131, 97};
establishes "iqs" as a pointer to the array.
Notification Switch
Would you like to follow the 'Programming fundamentals - a modular structured approach using c++' conversation and receive update notifications?