Programación en C++ – Operaciones de punteros y aritmética de punteros

La aritmética de punteros es especialmente útil al trabajar con arreglos, ya que permite acceder a diferentes elementos y realizar operaciones de forma eficiente. Sin embargo, es esencial tener cuidado para evitar acceder a áreas de memoria no válidas.

Operaciones de punteros: Las operaciones básicas que puedes realizar con punteros son:

  1. Asignación de direcciones: Asignar la dirección de una variable a un puntero.
  2. Dereferenciación: Acceder al valor almacenado en la dirección a la que apunta un puntero.
  3. Comparación: Comparar punteros para determinar si apuntan a la misma dirección de memoria.
  4. Operaciones de incremento y decremento: Incrementar o decrementar un puntero para que apunte a la siguiente o anterior posición de memoria, respectivamente.

Aritmética de punteros: En C++, puedes realizar operaciones aritméticas con punteros. La aritmética de punteros permite avanzar o retroceder a través de la memoria por pasos proporcionados por el tipo de datos al que apunta el puntero.

#include <iostream>

using namespace std;

int main() {
    int valores[] = {10, 20, 30, 40, 50};
    int* puntero = valores; // Asignación de dirección de memoria del primer elemento del arreglo

    cout << "Valores: ";
    for (int i = 0; i < 5; ++i) {
        cout << *puntero << " "; // Acceso al valor a través del puntero
        puntero++; // Avanzar al siguiente elemento
    }
    cout << endl;

    puntero = &valores[4]; // Reiniciar el puntero al último elemento del arreglo

    cout << "Valores (al revés): ";
    for (int i = 0; i < 5; ++i) {
        cout << *puntero << " ";
        puntero--; // Retroceder al elemento anterior
    }
    cout << endl;

    return 0;
}

Salida:

Valores: 10 20 30 40 50 
Valores (al revés): 50 40 30 20 10 

En este ejemplo:

  • int* puntero = valores; asigna la dirección de memoria del primer elemento del arreglo valores al puntero puntero.
  • *puntero accede al valor almacenado en la dirección apuntada por puntero.
  • puntero++; incrementa el puntero para que apunte al siguiente elemento del arreglo.
  • puntero--; decrementa el puntero para que apunte al elemento anterior del arreglo.

Pueder ir al artículo principal:

Códigos Sencillos hechos en C++

Deja un comentario