C Pointers
C Pointers
Creating Pointers
------------------
You learned from the previous chapter, that we can get the memory address of a variable with the
reference operator &:
1. Example
-> A pointer is a variable that stores the memory address of another variable as its value.
A pointer variable points to a data type (like int) of the same type, and is created with the * operator.
The address of the variable you are working with is assigned to the pointer:
2. Example
int* ptr = &myAge; // A pointer variable, with the name ptr, that stores the address of myAge
printf("%d\n", myAge);
printf("%p\n", ptr);
Example explained
Create a pointer variable with the name ptr, that points to an int variable (myAge). Note that the
type of the pointer has to match the type of the variable you're working with (int in our example).
Use the & operator to store the memory address of the myAge variable, and assign it to the pointer.
Dereference
In the example above, we used the pointer variable to get the memory address of a variable (used
together with the & reference operator).
You can also get the value of the variable the pointer points to, by using the * operator (the
dereference operator):
3. Example
// Reference: Output the memory address of myAge with the pointer (0x7ffe5367e044)
printf("%p\n", ptr);
printf("%d\n", *ptr);