Pointers

C/C++

Last Update Unknown

Creating Pointers

We can get the memory address of a variable by using the & operator:

A pointer however, is a variable that stores the memory address as its value.


A pointer variable points to a data type (like int or string) of the same type, and is created with the * operator. The address of the variable you're working with is assigned to the pointer:

Create a pointer variable with the name ptr, that points to a string variable, by using the asterisk sign * (string* ptr). Note that the type of the pointer has to match the type of the variable you're working with.


Use the & operator to store the memory address of the variable called food, and assign it to the pointer.


Now, ptr holds the value of food's memory address.



Declaring a pointer variable

There are three ways to declare pointer variables, but the first way is preferred:


Get Memory Address and Value

We can also use the pointer to get the value of the variable, by using the * operator (the dereference operator):

Note that the * sign can be confusing here, as it does two different things in our code:

  • When used in declaration (string* ptr), it creates a pointer variable.
  • When not used in declaration, it act as a dereference operator.



Modify the Pointer Value

You can also change the pointer's value. But note that this will also change the value of the original variable: