Basics Of Pointers
Posted on March 18, 2023 • 2 minutes • 378 words
A pointer is a special type of variable that can hold the memory address of an another variable.
Overview of C++ Pointers
1. Accessing address of a variable
We can access the memory address of a variable by & symbol
int x = 10;
&x // gives the memory address
Example
#include <iostream>
int main()
{
int mark = 300;
int age = 24;
int salary = 17000;
std::cout << "Address of mark: "<< &mark << std::endl;
std::cout << "Address of age: " << &age << std::endl;
std::cout << "Address of salary: " << &salary << std::endl;
}
2. Lets talk about Pointers
As we know pointers are the special type of variables that can hold the memory address of a variable.
Syntax
data_type *variableName1;
data_type *variableName2 = &anotherVariableName;
Example
int age = 10; // normal varaible
int *intPtr; // pointer varaible
int *agePtr = &age; // pointer varaible that hold memory address of age
3. How to access the value of Pointers
We can use the * (the dereference operator ) to access the value of a pointer.
Example
int age = 10; // normal varaible
int *agePtr;
agePtr = &age; // pointer varaible that hold memory address of age
// To access the value of agePtr we can use *agePtr
std::cout << "Value of agePtr " << *agePtr << std::endl;
4. How to modify the value of Pointers
Here agePtr is pointing to age, that means agePtr is holding the memory address of age variable. So indirectly we can alter the value of age by using agePtr
Example
#include <iostream>
int main() {
int age = 10; // normal varaible
int *agePtr; // pointer varaible
agePtr = &age; // hold memory address of age
// To access the value of agePtr we can use *agePtr
std::cout << "Value of agePtr " << *agePtr << std::endl;
// Change the value of age by using the agePtr
*agePtr = 100;
std::cout << "Value of agePtr " << *agePtr << std::endl;
std::cout << "Value of age " << age << std::endl;
return 0;
}
Output
Value of agePtr : 10
Value of agePtr : 100
Value of age : 100