Geek Slack

Learn C++
About Lesson


C++ Pointers


C++ Pointers

In C++, a pointer is a variable that stores the memory address of another variable. Pointers are used for dynamic memory allocation, accessing array elements, and building data structures like linked lists and trees.

1. Declaring and Using Pointers

Example of declaring and using pointers:

#include <iostream>

int main() {
    // Declare a variable and a pointer
    int num = 10;
    int *ptr;

    // Assign the address of num to ptr
    ptr = #

    // Output the value of num and ptr (memory address)
    std::cout << "num = " << num << std::endl;
    std::cout << "ptr = " << ptr << std::endl;

    // Access the value of num through ptr
    std::cout << "Value of num through ptr = " << *ptr << std::endl;

    return 0;
}

2. Dynamic Memory Allocation

Example of dynamic memory allocation using pointers:

#include <iostream>

int main() {
    // Declare a pointer to an integer
    int *ptr;

    // Allocate memory dynamically for an integer
    ptr = new int;

    // Assign a value to the allocated memory
    *ptr = 25;

    // Output the value
    std::cout << "Value at ptr: " << *ptr << std::endl;

    // Deallocate the memory
    delete ptr;

    return 0;
}

3. Pointers and Arrays

Example of using pointers with arrays:

#include <iostream>

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};
    int *ptr;

    // Assign the address of the first element of the array to ptr
    ptr = numbers;

    // Output elements of the array using pointer arithmetic
    for (int i = 0; i < 5; ++i) {
        std::cout << "Element " << i << ": " << *(ptr + i) << std::endl;
    }

    return 0;
}

Conclusion

Pointers in C++ provide powerful capabilities for manipulating memory addresses, enabling dynamic memory allocation and efficient access to data structures. This chapter covered basic pointer declaration, dynamic memory allocation with pointers, using pointers with arrays, and pointer arithmetic. Understanding pointers allows you to manage memory resources and implement complex data structures in your C++ programs.

Join the conversation