The power, the utility, and the ubiquity of pointers mean that, when pointers have the right to be conceptually daunting to understand, finding out them, their associated syntax, and also how to use them come solve difficulties is nonetheless well precious the time and also effort the it might take. To understand pointers and the work that deserve to take location with them, us must first understand a little about computer memory and also how programs situate variables in memory. Modern computer systems frequently have many gigabytes that memory, and each byte of memory has actually a distinctive address. We deserve to think of key memory or lamb as a large array that bytes and also the addresses as the indexes the each range element or byte in ~ the array. Many variables save in the range (i.e., in main memory) are bigger than one byte, for this reason the resolve of each variable is the table of contents of the an initial byte of that variable.
You are watching: The purpose of a memory address is:
![]() | ![]() |
(a) | (b) |
The amount of memory in a computer and how the computer addresses it space physical properties of the hardware. Alternatively, the variables residing in memory room an abstraction wholly defined by software. Previously, us used houses along a street together a metaphor for the setup of variables in memory. Every house has actually a distinct street deal with that civilization can use to find and to differentiate it indigenous the rather on the very same street. In much the same way, variables have actually addresses in key memory. Storage addresses are a property of the hardware and also cannot change, however the data save in memory - stored in a variable - can readjust or differ over time.
![]() | An computer animation of a home flying over a rainbow. |
(a) | (b) |
When we write a program, we name the variables, and also when we wonder around how the regime works, we think in terms of the variable names. However when a program executes, the computer accesses and manipulates all data by their memory addresses. The compiler maps every variable name to a distinctive memory deal with and incorporates the attend to into the an equipment code. Together, the compiler and also the operating system determine the location in memory of each variable. So, a change is a named place in key memory that has three characteristirebab.net: a name, a content, and also a memory address. just how the compiler interprets a variable"s name - one of two people its address its contents - is determined by where the name shows up in a given statement.
int counter = 123; | ![]() | counter = 5;balance = counter * 10;cout counter |
(a) | (b) | (c) |

The terms reminder and resolve are occasionally used interchangeably, but while lock are carefully related, over there is critical difference in between them. One address is a location in main memory and cannot change. Alternatively, a pointer is a sort of variable that holds or shop an address and the content of a pointer have the right to change.
See more: 18 Months Is How Many Days Are In 18 Months, How Long Is 18 Months In Days
C++ provides several reminder operators, which enable programmers to specify pointer variables, discover the addresses the variables, and access data with a pointer. This operators room the topic of the next sections of the text.